我尝试在Here Maps中使用GeoJson。我是Here Maps API的新手,所以我按照官方示例加载GeoJson,如果我从url加载GeoJson,一切都很好。现在我想从JS对象加载GeoJson,但geojson.Reader
方法似乎只允许读取url。是否可以加载对象?
var myGeoJsonObject = ...
function showGeoJSONData (map) {
var reader = new H.data.geojson.Reader(myGeoJsonObject), {
style: function (mapObject) {
if (mapObject instanceof H.map.Polygon) {
mapObject.setStyle({
fillColor: 'rgba(255, 0, 0, 0.5)',
strokeColor: 'rgba(0, 0, 255, 0.2)',
lineWidth: 3
});
}
}
});
reader.parse();
map.addLayer(reader.getLayer());
}
3条答案
按热度按时间iszxjhcz1#
从the docs来看,似乎有两种选择:
1.将文件路径传递给构造函数:
1.或者,可以创建一个新示例,不向构造函数传递任何内容,然后调用示例的
.parse
方法并传递GeoJSON对象,还可以向构造函数传递选项对象:hjqgdpho2#
这是我的工作示例:
这里是API文档
https://developer.here.com/documentation/maps/3.1.22.0/api_reference/H.data.geojson.Reader.html#parseData
2hh7jdfx3#
在这种情况下,需要使用parseData,H.data.geojson.Reader.parseData:https://developer.here.com/documentation/maps/3.1.22.0/api_reference/H.data.geojson.Reader.html#parseData