Javascript google maps isLocationOnEdge()方法不适用于数据层功能

Javascript google maps isLocationOnEdge()方法不适用于数据层功能,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在尝试获取从单击点经过的线条几何体。当我通过添加数据调用google.maps.geometry.poly.isLocationOnEdge时 直接在地图上的这些功能,我得到了一个成功的结果 您可以从中看到示例代码 代码片段(来自fiddle1): 谷歌地图 #地图{ 身高:100%; } html, 身体{ 身高:100%; 保证金:0; 填充:0; } var映射; 变量TILE_SIZE=256; 函数initMap(){ map=new google.maps.map(docum

我正在尝试获取从单击点经过的线条几何体。当我通过添加数据调用
google.maps.geometry.poly.isLocationOnEdge
时 直接在地图上的这些功能,我得到了一个成功的结果

您可以从中看到示例代码

代码片段(来自fiddle1):


谷歌地图
#地图{
身高:100%;
}
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
var映射;
变量TILE_SIZE=256;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{
液化天然气:73.76606472,
纬度:46.7578125
},
缩放:21
});
//map.data.loadGeoJson(href=“groupgeo.json”);
//map.data.addListener('click',identifFeatures);
map.addListener('click',identifFeatures);
无功电源线=[{
纬度:44.7578125,
液化天然气:72.76606472
},
{
纬度:46.7578125,
液化天然气:73.76606472
}
];
var flightPath=new google.maps.Polyline({
路径:绳索,
测地线:正确,
strokeColor:“#FF0000”,
笔划不透明度:1.0,
冲程重量:2
});
flightPath.setMap(map);
功能识别功能(evt){
var featuresHits=[];
if(google.maps.geometry.poly.isLocationOnEdge(evt.latLng,flightPath,0.123444)){
特性shits.push(飞行路径);
}
警报(“总特征:+featuresHits.length”);
};
}

您在创建时有一个输入错误,没有
路径
属性,它应该是
路径
(有
路径
属性):

应该是:

var polyline = new google.maps.Polyline({
  path: polygonCords,
});

代码片段:


谷歌地图
#地图{
身高:100%;
}
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
var映射;
变量TILE_SIZE=256;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{
液化天然气:73.76606472,
纬度:46.7578125
},
缩放:21
});
var geoJSON={
“类型”:“功能”,
“id”:“红线963”,
“几何学”:{
“类型”:“行字符串”,
“坐标”:[
[72.76606472, 44.7578125],
[73.76606472, 46.7578125]
]
},
“几何体名称”:“几何体”,
“财产”:{
“文本值”:空,
“红线_id”:146
}
};
map.data.addGeoJson(geoJSON);//添加数据层
map.addListener('click',identifFeatures);
功能识别功能(evt){
var featuresHits=[];
map.data.forEach(函数(特性){
var type=feature.getGeometry().getType();
如果(“LineString”==类型){
var polygonCords=[];
var pointOnLine=null;
feature.getGeometry().forEachLatLng(函数(latlng){
polygonCords.push(latlng);
});
var polyline=新的google.maps.polyline({
路径:polygonCords,
});
if(google.maps.geometry.poly.isLocationOnEdge(evt.latLng,polyline,0.123444)){
功能推送(功能);
}
}
});
警报(“总特征:+featuresHits.length”);
};
}
var polyline = new google.maps.Polyline({
  path: polygonCords,
});