Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图:以动态标记为中心的地图_Javascript_Google Maps_Google Maps Api 3_Bounds - Fatal编程技术网

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'});
}

您正在扩展边界之前返回标记。。。所以边界总是空的,你太不可思议了。我可以吻你。。。我只是可以。