猿问

显示加载屏幕,直到使用Google Maps设置geojson数据标记的样式为止

我希望以正确的样式在每个标记都位于其中后使地图可见。


我正在使用自定义标记图标,这就是为什么设置标记样式需要花费大量时间的原因。


loadGeoJson有回调,但我希望setStyle完成后显示地图,而不是loadGeoJson。我认为,我应该以某种方式对setStyle事件进行回调。不幸的是,我也找不到空闲和tileloaded谷歌地图事件的解决方法。



function initMap() {

   var map = new google.maps.Map(document.getElementById('map'), {

        center: { lat: -1.54108, lng: 37.759902 },

        zoom: 5,

    });

   map.data.loadGeoJson(GEOJSON);

   map.data.setStyle(styleFeature);

}

//////////////////////////////////////////////////

function styleFeature(feature) {

    var icon = {

        url: feature.getProperty('icon'), //logos come from google drive

        scaledSize: new google.maps.Size(30, 30),

        origin: new google.maps.Point(0, 0),

        anchor: new google.maps.Point(0, 30)

    };

    var chain = feature.getProperty('chain');


    return {

        icon: icon,

        title: chain,

        visible: true


    }    

};



这是该问题的有效示例:https : //jsfiddle.net/6bznm32v/


它只有几个用于自定义标记的图像,但是仍然有一些加载时间。


慕村9548890
浏览 246回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答