在cordova应用程序中将geoJSON添加到Google Map时未显示dataLayer

时间:2018-02-06 14:34:37

标签: cordova google-maps-api-3 geojson

我正在尝试将地理要素添加到Google地图数据图层。该地图嵌入在使用Apache Cordova开发的现有应用程序中。问题是我在loadGeoJson方法完成时没有看到回调。

使用以下内容包含API:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=XXX></script>

Google地图使用以下方式实例化:

        var gMap = new google.maps.Map(d3.select("#mapContainer").append("div").attr("id", "map").node(), {
            zoom: 8,
            center: new google.maps.LatLng(0, 0),
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControl: false
        });

        console.log('gmap = ', gMap);

工作正常,地图显示,但当我尝试像这样添加我的数据层时,我从未看到控制台日志:

gMap.data.loadGeoJson('https://www.mysite.co.uk/geojson/bigfile.json', null, function(features){
    console.log('features', features);
});

(参见https://developers.google.com/maps/documentation/javascript/3.exp/reference - find“loadGeoJson”)。

该文件大约为9.4MB,可在服务器上使用,我可以从服务器访问日志中看到它正在加载。我检查了文件,它是有效的GeoJSON(根据https://codebeautify.org/jsonvalidator)。我还测试了来自其他服务器的较小文件(例如https://raw.githubusercontent.com/martinjc/UK-GeoJSON/master/json/electoral/eng/topo_wpc.json),只是在本地加载geoJSON文件,但回调永远不会触发。

有人有任何想法吗?

0 个答案:

没有答案