我是谷歌地图api v3
的新手。我已经用2个标记创建了一个不错的谷歌地图但是当我使用google.maps.latlngBounds
时,它会返回错误
invalidValueError : setCenter : not a LatLng or LatLngLiteral Object
。
我该如何解决这个问题? 我只想围绕这些标记居中。
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var myLatlng2 = new google.maps.LatLng(-25.573688, 132.567212);
var mapOptions = {
center: myLatlng,
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
try {
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
var marker = new google.maps.Marker({
position: myLatlng
});
var marker2 = new google.maps.Marker({
position: myLatlng2
});
trackerMarkerArray.push(marker);
trackerMarkerArray.push(marker2);
var latlngbound = new google.maps.LatLngBounds ();
for (var i = 0; i<trackerMarkerArray.length; i++){
trackerMarkerArray[i].setMap(map);
latlngbound.extend(trackerMarkerArray[i].position);
}
//render new map and center around group of marker
map.setCenter(latlngbound);
map.fitBounds(latlngbound);
} catch (err){
alert(err);
}
}
google.maps.event.addDomListener(window, 'load', initialize);
答案 0 :(得分:3)
To&#34; fit&#34;添加到google.maps.LatLngBounds对象的一组标记的地图使用map.fitBounds(bounds),而不是map.setCenter()。
答案 1 :(得分:1)
map.setCenter(latlngbound);
map.setCenter takes a LatLng as a parameter,你传递的是LatLngBounds,我想你想这样做:
map.setCenter(latlngbound.getCenter());