지도api사용 중 마커를 여러개 띄우려는데

DB에 가지고있는 데이터가 위도,경도에 대한 데이터가 아닌 주소데이터라서 여태까지 지도api sample에 있는 http://apis.map.daum.net/web/sample/addr2coord/ 기능을 사용했거든요, 근데 이 스크립트로는 여러개의 위치를 띄우지 못하고 한곳만 띄울 수 있어 DB에 저장된 여러개의 위치를 띄우기위해 어떻게 해야할까요?
마커를 여러개띄우는 기능에 대한 sample도 있어 확인해봤는데 위도, 경도데이터를 이미 가지고 있어야 해서 제가 이용할 수는 없을 것 같아요.

예제는 하나의 주소를 찾은 다음 하나의 마커만 표시하도록 돼 있지만
해당 코드를 활용하여 여러 주소의 위치를 찾아내고 그걸 마커로 띄울 수 있습니다.

혹시 어떤코드 사용해야하는지 알수 있을까요?
script.txt (1.4 KB)

현재스크립튼데 첫번째 주소만 마커가 뜨고 두번째 주소는 마커가 안떠서요…

첨부 주신 코드에는 큰 이상이 없습니다.
실제 해 보신 코드와 유사한 아래 코드는 잘 나옵니다.

var geocoder = new daum.maps.services.Geocoder();
geocoder.addressSearch('제주특별자치도 제주시 첨단로 242', function(result, status) {
     if (status === daum.maps.services.Status.OK) {
        var coords = new daum.maps.LatLng(result[0].y, result[0].x);
        var marker = new daum.maps.Marker({
            map: map,
            position: coords
        });
    } 
});    
    
var geocoder2 = new daum.maps.services.Geocoder();
geocoder2.addressSearch('제주특별자치도 제주시 첨단로 241', function(result, status) {
     if (status === daum.maps.services.Status.OK) {
        var coords = new daum.maps.LatLng(result[0].y, result[0].x);
        var marker = new daum.maps.Marker({
            map: map,
            position: coords
        });
    } 
}); 

결과가 실패했는지 혹은 입력한 주소가 올바른지 확인하세요.

그리고 더불어 한 가지 더 말씀드리자면
실제로는 첨부해 주신 방식처럼 쓰지 않습니다.
Geocoder의 인스턴스는 하나만 생성하여 재사용합니다.
아래 같이요.

var doneCallback = function(result, status) {
     if (status === daum.maps.services.Status.OK) {
        var coords = new daum.maps.LatLng(result[0].y, result[0].x);
        var marker = new daum.maps.Marker({
            map: map,
            position: coords
        });
    } 
};
var geocoder = new daum.maps.services.Geocoder();
geocoder.addressSearch('제주특별자치도 제주시 첨단로 242', doneCallback);    
geocoder.addressSearch('제주특별자치도 제주시 첨단로 241', doneCallback);
2개의 좋아요

자세한 답변 정말 감사합니다! 제가 주소2의 양식을 잘못 작성했던 것 같네요! Geocoder에 대한 지식도 함께 알아갑니다 정말로 감사해요! 좋은 오후되세요!

1개의 좋아요