使用Google Map V3进行地理定位

时间:2013-05-07 19:14:54

标签: javascript jquery google-maps-api-3 geolocation

我想将地理位置添加到我的移动版本中 地图位于http://alert.fcd.maricopa.gov/alert/Google/v3/mobile.html

我的地图通过此JavaScript文件加载 http://alert.fcd.maricopa.gov/alert/Google/v3/js/mobilemap_v3.js。您 会注意到该文件的第46行是 -

map = new google.maps.Map($('#map_canvas')[0],myOptions);  

我在https://developers.google.com/maps/documentation/javascript/examples/map-geolocation尝试了Geolocation示例,在http://www.w3schools.com/html/html5_geolocation.asp尝试了W3 HTML5 Geolocation方法。但我的地图通过jquery加载,不使用

map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions); 
像所有的例子一样。

如果我用第46行中的$替换,我可以让地理定位工作 document.getElementById但我的传感器/制造商都没有 显示。

有谁知道如何让我的地理定位工作 标记/数据仍在加载?

1 个答案:

答案 0 :(得分:2)

找到答案!我使用了geolocationmarker-compiled.js(在http://code.google.com/p/google-maps-utility-library-v3/source/browse/trunk/geolocationmarker/src/geolocationmarker-compiled.js?r=379),然后添加了

var GeoMarker;

GeoMarker = new GeolocationMarker();
    GeoMarker.setCircleOptions({
    fillColor: '#808080'});

    google.maps.event.addListenerOnce(GeoMarker, 'position_changed', function() {
      map.setCenter(this.getPosition());
      map.fitBounds(this.getBounds());
    });

    google.maps.event.addListener(GeoMarker, 'geolocation_error', function(e) {
      alert('There was an error obtaining your position. Message: ' + e.message);
    });

    GeoMarker.setMap(map);

它很有效。地理位置工作的移动地图位于http://alert.fcd.maricopa.gov/alert/Google/v3/mobile.html,地理位置代码位于mobilemap_v3.js文件中,如果有人想要做同样的事情。