我正在尝试将地理要素添加到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文件,但回调永远不会触发。
有人有任何想法吗?