このコードを使用して、マップを中央に配置し、最適なズーム レベルに合わせてすべてのマーカーを表示しようとしています
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」です。URL は 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);
住所にカーソルを合わせるまで、マップは青色で表示されるようになりました。これは、ズームが遠すぎるためですか、それとも他の何かですか?