在 Google Maps V3 中获取 GeoJSON 数据层的属性
Getting the properties of a GeoJSON data layer in Google Maps V3
将 geoJSON 文件加载到 Google 地图作为数据层时,如何访问数据层本身的属性?
我知道如何 access the individual properties,如下例中的 posts_here
。我想要得到的是图层本身的属性 - 在这个例子中,maxPosts
.
$.getJSON("http://example.com/posts/grid.json" + location.search, function (data) {
grid = map_canvas.data.addGeoJson(data);
map_canvas.data.setStyle(function(feature) {
return /** @type {google.maps.Data.StyleOptions} */({
strokeWeight: Math.log(feature.getProperty('posts_here')),
});
})
});
我正在加载的 grid.json
示例:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-58,-35],
[-58,-34],
[-57,-34],
[-57,-35],
[-58,-35]
]
]
},
"properties": {
"posts_here": "177"
}
}
],
"properties": {
"maxPosts": "177"
}
}
我相信您应该能够使用 getFeatureById(id:number|string) 访问您从 geoJSON 添加的信息。
API 只解析 FeatureCollection 的 features
数组,当你想访问额外的属性时,你必须自己实现它。
根据给定的代码,它并不复杂,因为 geoJson 可以通过 $.getJSON
-回调中的 data
作为对象访问,您可以简单地访问 属性 通过
data.properties.maxPosts
将 geoJSON 文件加载到 Google 地图作为数据层时,如何访问数据层本身的属性?
我知道如何 access the individual properties,如下例中的 posts_here
。我想要得到的是图层本身的属性 - 在这个例子中,maxPosts
.
$.getJSON("http://example.com/posts/grid.json" + location.search, function (data) {
grid = map_canvas.data.addGeoJson(data);
map_canvas.data.setStyle(function(feature) {
return /** @type {google.maps.Data.StyleOptions} */({
strokeWeight: Math.log(feature.getProperty('posts_here')),
});
})
});
我正在加载的 grid.json
示例:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-58,-35],
[-58,-34],
[-57,-34],
[-57,-35],
[-58,-35]
]
]
},
"properties": {
"posts_here": "177"
}
}
],
"properties": {
"maxPosts": "177"
}
}
我相信您应该能够使用 getFeatureById(id:number|string) 访问您从 geoJSON 添加的信息。
API 只解析 FeatureCollection 的 features
数组,当你想访问额外的属性时,你必须自己实现它。
根据给定的代码,它并不复杂,因为 geoJson 可以通过 $.getJSON
-回调中的 data
作为对象访问,您可以简单地访问 属性 通过
data.properties.maxPosts