通过javascript将标记添加到我的gmaps4rails中

时间:2012-07-04 19:14:34

标签: gmaps4rails

我在使用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标记添加到地图中?

1 个答案:

答案 0 :(得分: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: ""
   });
}

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

您可以使用

检查您是否拥有正确的纬度和长度
alert(lat+" "+lng);