>UPDATE:我使用 QGIS 打开了我的 GeoJSON 文件来自的形状文件。我将图层保存为此 GeoJSON 文件,确保在保存时选择投影WGS84/EPSG:4326
。但是当我尝试将GeoJSON放置在Google地图图层上时,我仍然会遇到下面描述的相同错误。原始形状文件在这里。
我正在尝试使用Google Maps API将此GeoJSON添加到地图中。
我的代码。
<html>
<body>
<div id="map"></div>
<script type="text/javascript">
function initMap(){
var map = new google.maps.Map(
document.getElementById("map"),
{
zoom: 9,
center: {lat: 26.6949358, lng: -80.3487426}
}
);
map.data.loadGeoJson("path/to/city-boundaries.geojson")
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=MY_GOOGLE_MAPS_API_KEY&callback=initMap">
</script>
</body>
</html>
但是当我在 Firefox 中打开 HTML 文件时,我在开发人员的控制台中看到以下错误。
XML Parsing Error: not well-formed
Location: file:///path/to/city-boundaries.geojson
如何修复此错误?
loadGeoJson
幕后使用XHR,它不适用于本地文件。 这些文件需要由网络服务器提供。
从文档中:
loadGeoJson(url[, options, callback](Parameters: url: string
options: Data.GeoJsonOptions 可选回调: function(Array(
可选
返回值:
None
从 URL 加载 GeoJSON,并将功能添加到集合中。注意:GeoJSON 是使用 XHR 获取的,可能无法跨域工作。如果您遇到问题,我们建议您使用您选择的 AJAX 库获取 GeoJSON,然后调用 addGeoJson((。