我正在使用外部geojson-file
向我的Google地图添加图层。此文件包含我希望在搜索时访问的每个区域的两个属性。如果用户单击某个区域或使用任何其他受支持的事件处理程序,我可以轻松获取属性。
https://developers.google.com/maps/documentation/javascript/datalayer#add_event_handlers
this.map.data.addListener('mouseover', (event) => {
console.log(event.feature.getProperty('VD'));
});
但是,我希望在搜索时获得geojson
区域,并从中访问这些属性。这可能吗?
searchBox.addListener('places_changed', () => {
var places = this.searchBox.getPlaces();
...
places.forEach((place) => {
...
答案 0 :(得分:1)
您可以使用containsLocation实用程序检查多边形是否包含LatLng位置。
因此,在for
循环中获取Data layer
(填充loadGeoJson()
或addGeoJson()
)中的所有要素,获取每个几何图形并创建一个与{一起使用的多边形{1}}功能。
例如,以下代码检查containsLocation()
数组的某个功能中是否包含loc
(LatLng):
feats
这是一个带有工作示例的jsfiddle:http://jsfiddle.net/beaver71/sgtpop4f/