我目前有一个与我的谷歌地图实施问题,我希望我能从S.O.获得一些帮助。谷歌地图社区。谷歌地图面板没有像预期的那样令人耳目一新
当前我正在创建一张地图,添加一堆标记,然后将地图放入标记边界。但是,当地图显示时,map.fitBounds(边界)只更新了一半地图。
我不知道如何解决这一点。我以前从未见过地图部分缩放。
在此先感谢所有提交回复的人!
下面是代码来创建地图:
<script>
var markersData = [
@if(count($properties) > 0)
@foreach($properties as $property)
@if($property->lat == 0 && $property->lng == 0)
// Don't add the marker
@else
{
lat: "{{ $property->lat }}",
lng: "{{ $property->lng }}",
address: "{{ $property->street }}",
citystatezip: "{{ $property->city.', '.$property->state.' '.$property->zip }}"
},
@endif
@endforeach
@endif
];
function displayMarkers(){
if(markersData.length > 0){
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < markersData.length; i++){
var latlng = new google.maps.LatLng(markersData[i].lat, markersData[i].lng);
var address = markersData[i].address;
var citystatezip = markersData[i].citystatezip;
createMarker(latlng, address, citystatezip);
bounds.extend(latlng);
}
// JUST ADDED THIS CODE AND ITS WORKING NOW
google.maps.event.addListenerOnce(map, 'bounds_changed', function(event) {
this.setZoom(map.getZoom()-1);
if (this.getZoom() > 15) {
this.setZoom(15);
}
});
map.fitBounds(bounds);
}else{
var center = new google.maps.LatLng("{{$county->lat}}", "{{ $county->lng }}");
map.panTo(center);
}
}
function createMarker(latlng, address, citystatezip){
var marker = new google.maps.Marker({
map: map,
position: latlng,
title: address,
});
google.maps.event.addListener(marker, 'click', function() {
var iwContent = '<div id="iw_container">' +
'<div class="iw_title">' + address + '</div>' +
'<div class="iw_content">' + citystatezip + '</div></div>';
infoWindow.setContent(iwContent);
infoWindow.open(map, marker);
});
}
function initialize() {
var mapOptions = {
zoom: 9,
mapTypeId: 'roadmap',
scrollwheel: false
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
infoWindow = new google.maps.InfoWindow();
google.maps.event.addListener(map, 'click', function() {
infoWindow.close();
});
displayMarkers();
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
请提供一个演示此问题的[mcve]。 – geocodezip
这与由于此问题尚未投入生产的功能有关,因此我无法提供网址。 – ProfessorGT
提供必要的代码来重现问题,而不是链接。 – MrUpsidown