我试图在地图中心,并使用此代码设置缩放和中心显示所有标记 - 显示在地图元素
var searchname=document.getElementById("hidden_searchname").value;
if(trim(document.getElementById("longitude").value)!="")
{
zoom=11;
lat=document.getElementById("latitude").value;
longitude=document.getElementById("longitude").value;
}
else
{
zoom=11;
longitude="-88";
lat="42";
}
latlng = new google.maps.LatLng(lat,longitude);
var myOptions = {
zoom: zoom,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), myOptions);
var latlngbounds = new google.maps.LatLngBounds();
for (var i = 0; i < latlng.length; i++)
{
latlngbounds.extend(latlng[i]);
}
//map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
map.setCenter(latlngbounds.getCenter());
map.fitBounds(latlngbounds);
符合最佳变焦状态来显示所有标记蓝色的颜色,但它让我没有我得到的地图和控制台错误是“type error c is null”。网址是http://tinyurl.com/bp94qdy
在框中键入Mcdonalds并参见。
我调整的代码并将其放大正确地使用以下
map = new google.maps.Map(document.getElementById("map"), myOptions);
var latlngbounds = new google.maps.LatLngBounds();
for (var index in markersArray) {
var lat = markersArray[index].lat;
var lng = markersArray[index].lng;
//alert(markersArray[index].lng);
var latlng2 = new google.maps.LatLng(lat, lng);
latlngbounds.extend(latlng2);
}
//map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
map.setCenter(latlngbounds.getCenter());
map.fitBounds(latlngbounds);
代码的地图上现在显示蓝色,直到我悬停在一个地址。这是因为变焦太远或其他什么?
您使用的中心:经纬度中的MapOptions,这意味着经纬度是google.maps.LatLng物件,但后来你使用它像(VAR i = 0; i
Marcelo
这是一个不同的问题。 StackOverflow是*特定的*编程问题,而不是聊天网站。 latlng被定义为** latlng = new google.maps.LatLng(lat,longitude); **所以它不是数组。 – Marcelo
我是否应该为每个标记获取LatLng并将它们放入数组中,并将它们设置为地图的正确缩放和居中? –