所以我试图找到一些关于如何将地图置于标记中心的文档, 但不知怎的,它对我不起作用。
在Gmap3页面上的示例中,无需在地图选项中添加“中心”即可正常工作 对我来说,即使是“中心:latLng”它也行不通。
所以我尝试了一些不同的组合,没有什么对我有用..
然后我试图分别提取纬度和经度并检查我得到的数字 在允许输入lat和lng的网站上,我意识到coords不是标记的那些,所以我不知道我是否正确提取它们还是存在另一个问题。
这是我现在的代码 -
$("#mapholder").gmap3({
getgeoloc:{
callback : function(latLng){
//here is where i tried to get the lat and lng out of the latLng
lat = parseFloat(latLng.A.toFixed(6));
console.log(typeof(lat));
lng = parseFloat(latLng.k.toFixed(6));
lat_Lng = latLng;
console.log("latitude: "+lat+" , longtitude: "+lng);
console.log("typeof latlng: "+typeof(latLng));
if (latLng){
$("#mapholder").gmap3({
map:{
options:{
center:latLng,
zoom: 5
}
},
marker:{
latLng:latLng
}
});
}
}
}
});
我试过的另一种方式是
center:[lat,lng]
即使没有像demo这样的任何中心,它也无效。
非常感谢您的帮助!
更新
它可能与不允许这些参数的回调函数有关吗?
我还尝试向标记添加数据类型,因此它会说“你在这里!”,这也不起作用。
答案 0 :(得分:2)
该脚本工作正常,您的演示存在问题:
当gmap3在隐藏"我的地点" -tab时创建地图实例#mapholder没有大小(地图的中心是地图的左上角)在这种情况下)。
当您选择"我的地点" -tab第一次创建map-instance后,必须触发map的resize-event并重新分配中心:
$(link).fadeIn(1000, function(){
$(link).addClass("current");
if(link==='#myPlaceSection' && lat_Lng){
$('#mapholder').gmap3({trigger:"resize"});
$('#mapholder').gmap3({map:{options:{center:lat_Lng}}});
lat_Lng=null;
}
}
);
答案 1 :(得分:0)
根据参考文献,你需要给latLong如下:
map:{
options:{
center: new google.maps.LatLng(lat,lng),
zoom: 5
},
试试这个。这对你有用。