0

我在使用 gem gmaps4rails 时遇到了一些问题。我正在使用 javascript 和 gmaps4rails 的混合。这是我的代码示例:

       function handle_locations(position) {

        alert("Length = " + Gmaps.map.markers.length);
        var yourStartLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

        var marker = new google.maps.Marker({position: yourStartLatLng});
        alert("Ola 2");

        if(document.getElementById("map") != null)
          alert("diff");

        Gmaps.map.markers[0] = marker;

        alert("Ola 333");
        //var map = $document.filter('#map');
        //var map = document.getElementById("map");
        //Gmaps.map.add_marker(marker);  
    }

navigator.geolocation.getCurrentPosition(handle_locations);

handle_locations 函数工作正常,我可以得到我的位置。问题是向使用 gmaps 创建的地图添加标记。如何在此功能中将我的 geolocaton 标记添加到地图中?

4

1 回答 1

1

我有类似的问题,这对我有用。

lat = position.coords.latitude;
lng = position.coords.longitude;

Gmaps.map.callback = function() {
   Gmaps.map.createMarker({
      Lat: lat,
      Lng: lng, 
      rich_marker: null, 
      marker_picture: ""
   });
}

确保仅在请求成功后才使用 position.coords.latitude/longitude navigator.geolocation.getCurrentPosition(function(position) { (可能你正在这样做),因为从用户那里获取位置是异步的并且需要一些时间。

您可以检查您是否有正确的纬度和经度

alert(lat+" "+lng);
于 2012-07-13T12:46:44.760 回答