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