当我搜索网站上的附近位置时,我正在工作,结果显示在列表中,但地图区域显示为灰色,有时它会回来,但随后会消失。
任何帮助将不胜感激
答案 0 :(得分:5)
这是对第一个答案的问题的回复。他的想法是正确的,你需要在任何东西可见之前用一个位置初始化它。另请注意,这是关于V3的问题,第一个答案解决了V2的语法问题。请使用与v2帖子相同的想法尝试下面的代码。
使用初始位置设置地图选项中的中心值。您也可以在此处调整缩放。
var mapOptions = {
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(latitude, longitude)
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
答案 1 :(得分:2)
在第3版中,检查您的Lat和Lng是否正常,不是"未定义"。
console.log(results[0].geometry.location.k);
console.log(results[0].geometry.location.D);
var mapOptions = {
zoom: 15,
center: new google.maps.LatLng(
results[0].geometry.location.k,
results[0].geometry.location.D
)
};
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
答案 2 :(得分:1)
初始化的时机非常重要。地图加载时地图是否可见,或者是否弹出/淡入/(无论是什么状态会将状态从不可见变为可见)?
如果在初始化时隐藏地图,则地图将为灰色。
答案 3 :(得分:0)
根据我使用谷歌地图的经验,有时当您正在预览的位置(特别是缩放系数较高时)或当您的互联网连接速度较慢时,会显示灰色色块。这样地图数据需要很长时间才能加载/失败!
但其他因素也可能是原因 - 也许。
初始化地图时,例如:
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
map.setCenter
的秒参数是缩放系数 - 在本例中为13
。
您还可以为地图设置新的缩放级别,如下所示:
map.setZoom(5);