如何在没有事件侦听器的情况下从图层(使用geoJSON加载)获取“要素”数据?
这是通常的方式,效果很好:
layer1.addListener('mouseover', function (event) {
console.log( event.feature.getProperty('description') );
}
但现在我想从数据对象“layer1”中获取值。
我已经尝试了这个:
layer1.getProperty('description')
layer1.feature.getProperty('description')
我加载geoJSON的方式
var layer1 = new google.maps.Data();
layer1 = loadGeoJson('https://googledrive.com/host/MYFILE')
json的内容
这是一个简短的问题顺便说一下:如果我的json中有更多的功能(例如多边形),我可以将这些值设置为操纵(例如切换可见性)吗?
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
12.3456789,
01.2345678,
0
]
},
"properties": {
"name": "Test Polygon",
"description": "My Test Description"
}
}
]
}
答案 0 :(得分:1)
要获取google.maps.Data图层的所有功能,请使用:
forEach(回调:函数(Data.Feature))
返回值:无
重复调用给定的函数,将集合中的一个特性传递给每个调用的函数。通过功能的迭代顺序是未定义的。
或获取单个功能(如果您知道Id):
<强> getFeatureById(ID:数|字符串)强>
返回值:Data.Feature | undefined
如果集合中存在特征,则返回具有给定ID的要素。否则返回undefined。
请注意ID 1234和1234&#39;是等价的。两者都可用于查找相同的功能。