Berikut Demo JSFiddle:
Saya kira ini adalah salah satu cara untuk melakukannya. Anda dapat menggunakan lingkaran Google Map V3 API
untuk membuat batas dari titik pusat atau lokasi Anda saat ini. Anda dapat menentukan jari-jari lingkaran dalam meter dengan setRadius(radius:number)
. Dengan lingkaran yang dibuat, Anda dapat mengulang melalui penanda dan melihat apakah penanda berada dalam batas lingkaran menggunakan Objek getBounds lingkaran yang merupakan LatLngBounds
dan periksa apakah penanda dalam batas atau tidak.
Saya melanjutkan dan membuat demo kecil yang memiliki lima titik pada peta, dan ketika Anda mengklik tombol buat lingkaran, itu akan membuat penanda pertama menjadi titik tengah dan menggambar lingkaran dengan radius 5000 dan menyaring penanda yang tidak terikat dengan menggunakan metode yang dijelaskan di atas:
function createRadius(dist) {
var myCircle = new google.maps.Circle({
center: markerArray[markerArray.length - 1].getPosition(),
map: map,
radius: dist,
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35
});
var myBounds = myCircle.getBounds();
//filters markers
for(var i=markerArray.length;i--;){
if(!myBounds.contains(markerArray[i].getPosition()))
markerArray[i].setMap(null);
}
map.setCenter(markerArray[markerArray.length - 1].getPosition());
map.setZoom(map.getZoom()+1);
}