2009-04-28 6 views
2

Играя с Google Maps в эти дни, с некоторыми направлениями.Карты Google - добавьте два маркера (направления)

У меня есть карта, которая получает направление и адрес (обратное геокодирование) при перетаскивании маркеров.

Если на карте есть два узла (http://dev.korebogen.dk/gmap/), скрипт работает нормально (нажмите на кнопку направления) - но мне нужно добавить событие click, чтобы я мог разместить эти два маркера вместо жесткого кода вручную , но все же можно их перетащить - или поместить новый с новым кликом. Но мне нужны только маркеры A-B.

Ive играл с некоторыми событиями щелчка, но я не могу выполнить то, что ищу, надеюсь, что-то здесь поможет. Большое спасибо.

ответ

4

Этот код позволит вам щелкнуть и поместить два маркера, которые затем можно использовать для загрузки GDirections и удаления исходных маркеров. Обратите внимание, что вы должны использовать этот формат для строки запроса: «from: marker @ 35, -25 to: marker @ -20,15».

var markerArray = []; 

var listener = GEvent.addListener(map, "click", function(overlay, latlng) { 
    var marker = new GMarker(latlng, { draggable: true }); 
    map.addOverlay(marker); 
    markerArray.push(marker); 
    if (markerArray.length > 1) { 
     GEvent.removeListener(listener); 
     var marker1 = markerArray[0]; 
     var marker2 = markerArray[1]; 

     gdir.load("from: [email protected]" + marker1.getLatLng() + " to: [email protected]" + marker2.getLatLng()); 

     map.removeOverlay(marker1); 
     map.removeOverlay(marker2); 
    } 
});