From 63ecd1e73d3792927e452ef8b61078558338dd46 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 5 Nov 2013 15:18:56 +0100 Subject: [PATCH] a gmap-api v3 compatible replacement for the googlemap --- googlemap/googlemap.js | 14 ++++++++ googlemap/googlemap3.js | 68 ++++++++++++++++++++++++++++++++++++++ googlemap/staticgmap3.html | 15 +++++++++ 3 files changed, 97 insertions(+) create mode 100644 googlemap/googlemap3.js create mode 100644 googlemap/staticgmap3.html diff --git a/googlemap/googlemap.js b/googlemap/googlemap.js index 7925343..f0b89d1 100644 --- a/googlemap/googlemap.js +++ b/googlemap/googlemap.js @@ -19,6 +19,20 @@ function onContent(f){ else if(/MSIE/i.test(b))d.write(s); } +/* the PLE snippet for embedding a googlemap in front page */ +/* +

" + type="text/javascript">'); +drupal_add_js('googlemap/googlemap.js',TRUE); +drupal_set_html_head(''); +?> +

+*/ + function googlemap (htmlid,kmlurl,centerLat, centerLon, zoom) { // alert ('in googlemap, kmlurl='+kmlurl+',id ='+htmlid); if (GBrowserIsCompatible()) { diff --git a/googlemap/googlemap3.js b/googlemap/googlemap3.js new file mode 100644 index 0000000..eb2f97b --- /dev/null +++ b/googlemap/googlemap3.js @@ -0,0 +1,68 @@ +/* the googlemap plugin using api v3 since v2 is bout to be taken down end of 2013 */ + +/* this function should solve the issue of calling a function + * upon page load, that badly depends on the browser + * see an example in http://svn.planet-lab.org/wiki/GooglemapSetup + */ +function onContent(f){ + var + a=onContent, + b=navigator.userAgent, + d=document, + w=window, + c="onContent", + e="addEventListener", + o="opera", + r="readyState", + s=""); + a[c]=(function(o){return function(){a[c]=function(){};for(a=arguments.callee;!a.done;a.done=1)f(o?o():o)}})(a[c]); + if(d[e])d[e]("DOMContentLoaded",a[c],false); + if(/WebKit|Khtml/i.test(b)||(w[o]&&parseInt(w[o].version())<9))(function(){/loaded|complete/.test(d[r])?a[c]():setTimeout(arguments.callee,1)})(); + else if(/MSIE/i.test(b))d.write(s); +} + +/* the PLE snippet for embedding a googlemap in front page */ +/* +

&sensor=false">'); +drupal_add_js('googlemap/googlemap3.js',TRUE); +drupal_set_html_head(''); +

+?> +*/ + +function googlemap (htmlid,kmlurl,centerLat, centerLon, zoom) { + // alert ('in googlemap, kmlurl='+kmlurl+',id ='+htmlid); + /* GBrowserIsCompatible was deprecated in v3 + if (GBrowserIsCompatible()) ... + */ + + var center = new google.maps.LatLng(centerLat, centerLon); + var options = { + zoom: zoom, + center: center, + mapTypeId: google.maps.MapTypeId.SATELLITEMAP, /* ROADMAP */ + panControl: true, + zoomControl: true, + mapTypeControl: true, + scaleControl: true, + streetViewControl: true, + overviewMapControl: true, + } + + var map = new google.maps.Map(document.getElementById(htmlid), options); + + var layer_options = { + map: map, + preserveViewport: true, + /*suppressInfoWindows*/ + }; + var layer = new google.maps.KmlLayer(kmlurl, layer_options); +} + +/* GUnload was deprecated in v3 +window.onunload=GUnload; +*/ diff --git a/googlemap/staticgmap3.html b/googlemap/staticgmap3.html new file mode 100644 index 0000000..08a4f6d --- /dev/null +++ b/googlemap/staticgmap3.html @@ -0,0 +1,15 @@ + + + + + + + +

title

+

+

end

+ + -- 2.43.0