-1

ここに私のコードがあります:

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

// 

ブブレムはどこですか?私はそれを修正することはできません...ポリゴンゾーンに存在するかどうかマーカーを確認したいです。マーカーをポリゴン半径にチェックするためのより良い方法を誰かが知っている場合は、これをより良く行う方法を再生してください。ありがとう

4

2 に答える 2

0

google.maps.geometry.polyライブラリはポリゴンでのみ機能し、サークルは機能しません。

あなたは確かにあなたの質問にそれに答えるのに十分な情報を提供していませんでしたが。

円の内側の点がdistanceBetweenを使用しているかどうかを確認するには、点と円の中心との間の距離が円の半径以下の場合、その点は円の中にあります。

于 2012-10-25T12:01:50.177 に答える
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
于 2012-10-25T12:50:50.047 に答える