]> git.street.me.uk Git - andy/viking.git/blobdiff - src/google.c
Replace defunct IP to location lookup service.
[andy/viking.git] / src / google.c
index 949f38e056a4c1ab944d18c5fbd790472d3f6f6f..c7e7ecc2754e280fb9873fdb8d08c43189321e0f 100644 (file)
 
 #include <glib/gi18n.h>
 
+#include "globals.h"
 #include "google.h"
-
+#include "vikexttools.h"
+#include "vikwebtoolcenter.h"
+#include "vikgoto.h"
+#include "googlesearch.h"
+#include "vikrouting.h"
+#include "vikroutingwebengine.h"
+#include "babel.h"
 
 void google_init () {
+  // Webtools
+  VikWebtoolCenter *webtool = vik_webtool_center_new_with_members ( _("Google"), "http://maps.google.com/maps/@%s,%s,%dz" );
+  vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
+  g_object_unref ( webtool );
+
+  // Goto
+  /*
+   * Google no longer supports the API we used
+   *
+  GoogleGotoTool *gototool = google_goto_tool_new (  );
+  vik_goto_register ( VIK_GOTO_TOOL ( gototool ) );
+  g_object_unref ( gototool );
+  */
+}
+
+/**
+ * Delayed initialization part as the check for gpsbabel availability needs to have been performed
+ */
+void google_post_init ()
+{
+  // Routing
+  /* Google Directions service as routing engine.
+   * 
+   * Technical details are available here:
+   * https://developers.google.com/maps/documentation/directions/#DirectionsResponses
+   *
+   * gpsbabel supports this format.
+   */
+  /*
+   * Google no longer supports the API we used
+   *
+  if ( a_babel_available() ) {
+    VikRoutingEngine *routing = g_object_new ( VIK_ROUTING_WEB_ENGINE_TYPE,
+      "id", "google",
+      "label", "Google",
+      "format", "google",
+      "url-base", "http://maps.google.com/maps?output=js&q=",
+      "url-start-ll", "from:%s,%s",
+      "url-stop-ll", "+to:%s,%s",
+      "url-start-dir", "from:%s",
+      "url-stop-dir", "+to:%s",
+      "referer", "http://maps.google.com/",
+      NULL);
+    vik_routing_register ( VIK_ROUTING_ENGINE ( routing ) );
+    g_object_unref ( routing );
+  }
+  */
 }