Google maps “谷歌地图不缩放”;有机地;加载新标记时
我有一段加载XML图形标记的代码,我还将它设置为在加载新标记时缩放。然而,我不喜欢的是,缩放是“瞬间”进行的,并且不会缓慢地缩放到水平,而且,由于某种原因,地图也会比需要的远得多。我希望地图只缩小到它需要的地方,这样标记就在视野中了 有什么建议吗?谢谢Google maps “谷歌地图不缩放”;有机地;加载新标记时,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我有一段加载XML图形标记的代码,我还将它设置为在加载新标记时缩放。然而,我不喜欢的是,缩放是“瞬间”进行的,并且不会缓慢地缩放到水平,而且,由于某种原因,地图也会比需要的远得多。我希望地图只缩小到它需要的地方,这样标记就在视野中了 有什么建议吗?谢谢 clearOverlays(); downloadUrl("AllActivityxml.php", function(data) { var xml = data.responseXML; var markers
clearOverlays();
downloadUrl("AllActivityxml.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("id");
var address = markers[i].getAttribute("id");
var type = markers[i].getAttribute("venue_type");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + address;
var icon = customIcons[type] || {};
markerBounds.extend(point);
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
markersArray.push(marker);
bindInfoWindow(marker, map, infoWindow, html);
map.fitBounds(markerBounds);
}
});
clearOverlays();
下载URL(“AllActivityxml.php”,函数(数据){
var xml=data.responseXML;
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(var i=0;i“+地址;
var icon=customIcons[type]| |{};
扩展标记边界(点);
var marker=new google.maps.marker({
地图:地图,
位置:点,,
icon:icon.icon,
阴影:icon.shadow
});
markersArray.push(marker);
bindInfoWindow(标记、地图、infoWindow、html);
地图边界(markerBounds);
}
});
缩放“立即”发生,并且不会缓慢地缩放到水平--这就是当您执行fitBounds()
时实际发生的情况。看起来您需要类似于map.panTo()
的东西,这使得map上的转换速度慢于map.setCenter()
,但fitbunds()中的情况并非如此
map缩小的比它需要的还要远——移动
map.fitBounds(markerBounds)代码>在for循环之外
嘿,谢谢,但是把map.panTo(markerBounds)
放在循环之外没有任何作用。没有错误,但是也没有缩放。没有。panTo()将不适用于边界变量,这就是我提到的。关于缓慢缩放的第一个问题没有解决方法。我解决了你关于缩放的第二个问题了吗?嗨,Cdeez,不是真的-因为我想让缩放感觉自然。然而,在谷歌搜索之后,我发现这是不可能的。谢谢你的回答。