9

私は場所の緯度と経度を持っています。そのようなマーカーがすでに存在するかどうかを確認したい。どうすればいいですか?

var myLatLng = new google.maps.LatLng(Lat, Long);
//before setting marker i want to check here
marker.setPosition(myLatLng);
marker.setVisible(true);

出来ますか?

4

4 に答える 4

6

これを試して:

// mkList = [mark1, mark2, ...], existing marker container

var myLatLng = new google.maps.LatLng(Lat, Long);

// check if this position has already had a marker
for(var x = 0; x < mkList.length; x++) {
    if ( mkList[x].getPosition().equals( myLatLng ) ) {
        console.log('already exist');
        return;
    }
}

var newMarker = new GoogleMap Marker - by myLatLng;
mkList.push(newMarker);
  • GoogleマップLatLngオブジェクトには、 aが他のものと等しいequals()かどうかを判断するメソッドがありますLatLng
  • Google マップオブジェクトには、オブジェクトを返すMarkerメソッドがありますgetPosition()LatLng
  • ユーザーmarker.getPosition().equals( myLatLng )に伝えるのは、彼らの位置が同じであることです

リンク: https://developers.google.com/maps/documentation/javascript/reference#Marker

于 2014-08-06T08:16:42.187 に答える