- return VIK_GOTO_TOOL_GET_CLASS( self )->get_coord( self, vw, vvp, srch_str, coord );
+ gchar *tmpname;
+ gchar *uri;
+ gchar *escaped_srch_str;
+ int ret = 0; /* OK */
+ struct LatLon ll;
+
+ g_debug("%s: raw goto: %s", __FUNCTION__, srch_str);
+
+ escaped_srch_str = uri_escape(srch_str);
+
+ g_debug("%s: escaped goto: %s", __FUNCTION__, escaped_srch_str);
+
+ uri = g_strdup_printf(vik_goto_tool_get_url_format(self), escaped_srch_str);
+
+ tmpname = a_download_uri_to_tmp_file ( uri, vik_goto_tool_get_download_options(self) );
+
+ g_debug("%s: %s", __FILE__, tmpname);
+ if (!vik_goto_tool_parse_file_for_latlon(self, tmpname, &ll)) {
+ ret = -1;
+ goto done;
+ }
+ vik_coord_load_from_latlon ( coord, vik_viewport_get_coord_mode(vvp), &ll );
+
+done:
+ g_free(escaped_srch_str);
+ g_free(uri);
+ util_remove(tmpname);
+ g_free(tmpname);
+ return ret;