Javascript 谷歌地图:以动态标记为中心的地图
我试图确保地图以动态添加的标记为中心。标记本身被完美地添加到地图中,但是地图始终保持在太平洋中部。我认为启动边界的顺序不正确 这是我的地图代码:Javascript 谷歌地图:以动态标记为中心的地图,javascript,google-maps,google-maps-api-3,bounds,Javascript,Google Maps,Google Maps Api 3,Bounds,我试图确保地图以动态添加的标记为中心。标记本身被完美地添加到地图中,但是地图始终保持在太平洋中部。我认为启动边界的顺序不正确 这是我的地图代码: <script> var map, bounds, locations, markers; function initMap() { map = new google.maps.Map(document.getElementById('map'), { zoom: 3,
<script>
var map, bounds, locations, markers;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: {lat: -28.024, lng: 140.887}
});
google.maps.event.addListenerOnce(map, 'idle', function() {
bounds = new google.maps.LatLngBounds();
loadAllProperties();
});
}
function loadAllProperties() {
$.post("/wp-admin/admin-ajax.php", {action: 'get_all_properties'}, function(result) {
locations = JSON.parse(result);
createMarkers();
});
}
function createMarkers() {
var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
markers = locations.map(function(location, i) {
return new google.maps.Marker({
position: location,
label: labels[i % labels.length]
});
bounds.extend(location);
});
map.fitBounds(bounds);
// Add a marker clusterer to manage the markers.
var markerCluster = new MarkerClusterer(map, markers, {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
}
</script>
变量图、边界、位置、标记;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
缩放:3,
中心:{纬度:-28.024,液化天然气:140.887}
});
google.maps.event.addListenerOnce(map'idle',function(){
bounds=新的google.maps.LatLngBounds();
loadAllProperties();
});
}
函数loadAllProperties(){
$.post(“/wp admin/admin ajax.php”,{action:'get_all_properties},函数(result){
locations=JSON.parse(结果);
createMarkers();
});
}
函数createMarkers(){
var标签='abcdefghijklmnopqrstuvxyz';
标记=位置.map(函数(位置,i){
返回新的google.maps.Marker({
位置:位置,,
标签:标签[i%标签.长度]
});
扩展(位置);
});
映射边界(bounds);
//添加标记群集器以管理标记。
var markerCluster=newmarkerclusterer(映射,标记,{imagePath:'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
}
在扩展边界之前返回标记。。。所以边界总是空的。对代码重新排序以首先扩展边界
function createMarkers() {
var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
markers = locations.map(function(location, i) {
bounds.extend(location);
return new google.maps.Marker({
position: location,
label: labels[i % labels.length]
});
});
map.fitBounds(bounds);
// Add a marker clusterer to manage the markers.
var markerCluster = new MarkerClusterer(map, markers, {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
}
您正在扩展边界之前返回标记。。。所以边界总是空的,你太不可思议了。我可以吻你。。。我只是可以。