아래와같이 외부에서 지도마커를 클릭하게 하려고하는대 어떻게 해야될까요?
mapmarkerclick를 구현하려고 하는대
x와 y의 좌표로 외부에서 해당 마커를 클릭하게 할수 있는 방법이 있을까요
$(‘.mapmarker_item’).click(function() {
var x = $(this).attr(‘x_psdata’);
var y = $(this).attr(‘y_psdata’);
zoomIn(); // 맵을 줌인한다
panTo(x,y); // 맵의좌표를 x,y좌표로 이동한다,
mapmarkerclick(x,y); // x,y 좌표에있는 맵마커를 클릭한다.
});
lea.ju
11월 26, 2024, 12:26오전
2
클릭 좌표와 생성한 마커 간 거리를 비교해서 가장 인접한 마커를 구해 click이벤트를 trigger 해주세요.
아래 답변은 특정 좌표값과 설정한 반경에 포함되는 마커를 구하는 로직으로
이를 활용해서 반경에 포함되는 마커 중 가장 인접한 마커를 구할 수 있습니다.
링크 참고해서 구현해주세요.
가능합니다.
중심점 좌표는 Map.getCenter() (이하 c1)로 구할 수 있고
각 마커들의 좌표는 Marker.getPosition() (이하 c2)으로 구할 수 있습니다.
이 두 좌표의 거리를 m값으로 구할 수 있는 방법이 있습니다.
바로 Polyline.getLength()입니다.
이 값을 원의 반지름으로 넣어준 Radius와 비교하여 작은 거리의 마커만 Marker.setMap(map) 해주시면 됩니다.
// 원(Circle)의 옵션으로 넣어준 반지름
var radius = 100;
// 마커들이 담긴 배열
markers.forEach(function(m) {
var c1 = map.getCenter();
var c2 = m.getPosition();
var poly = new Polyline({
// map: map, 을 하지 않아도 거리는 구할 수 있다.
path: [c1, c2]
});
var d…