这是我的代码:
var posmark = markerarr["535413"].getPosition();
console.log(posmark);
// **Console.log** ▲
Ya: 41.64272
Za: 41.65764999999999
//
var posshp = poli_arr.s1;
console.log(posshp);
// **Console.log** ▲
Zl: yo
__e3_: Object
__gm_id: 252
b: null
center: P
fillColor: "#FF0000"
fillOpacity: 0.35
gm_accessors_: Object
map: null
radius: 100
strokeColor: "#FF0000"
strokeOpacity: 0.8
strokeWeight: 2
__proto__: c
//
var res = google.maps.geometry.poly.containsLocation(posmark, posshp);
console.log(res);
//**Console.log** ▲
Uncaught TypeError: Cannot call method 'getLength' of undefined
//
在哪里是broblem?我无法解决它...我想要检查标记,如果存在于多边形区域。如果有人知道更好的方法来检查标记到poligon半径,请重播我如何做得更好。感谢
答案 0 :(得分:0)
google.maps.geometry.poly库仅适用于Polygons,而非Circles。
虽然您的问题中肯定没有提供足够的信息来回答它。
要检查圆内的点是否使用distanceBetween,如果圆与圆的中心之间的距离小于或等于圆的半径,则该点位于圆中。
答案 1 :(得分:0)
这方面的简单方法是对此代码进行测试并正常工作:
function API_CONT_UPD(){
//geting marker objects
for (element in markerarr){
//geting marker positions
var pos = markerarr[element].getPosition();
//geting shape objects
for (element2 in poli_arr){
//check position if is into shape
if(poli_arr[element2].getBounds().contains(pos) == true){
var unit = wialon.core.Session.getInstance().getItem(element);
console.log(unit.getName());
} //if close
}//shape for statment
} //marker for statment
}//function close