Добавление информационных маркеров на карты Google - PullRequest
2 голосов
/ 01 августа 2010

Я пытаюсь добавить информацию к своим маркерам, как мне добавить шар с информацией к этому коду:

map.addOverlay(new GMarker(new GLatLng(-34.8779420,-58.5514125)));

С другой стороны, у меня есть второй вопрос, когда я добавляю шардля того, что я читаю, я добавляю вторую точку, но эта точка кликабельна?

Ответы [ 3 ]

2 голосов
/ 01 августа 2010

Вам нужно вызвать GMarker openInfoWindowHtml , чтобы открыть информационное окно , привязанное к объекту маркера.Этот метод вызывается из обработчика событий, который вы добавляете в событие click для объекта GMarker :

GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml("<h1>test</h1><p>test marker content</p>");
    });

Вот пример добавлениянесколько маркеров и открывающиеся информационные окна для каждого ( источник ).

Ваш второй вопрос:

Вы можете добавлять маркеры вваша карта Google, а затем добавьте прослушиватели событий для этих маркеров.Так что да, ваш второй маркер может быть кликабельным.

NB В вашем примере вы используете API версии 2 .Недавно версия три API была переведена в рабочее состояние и рекомендуется для новых сайтов.

Вот пример создания информационного окна и открытия его для маркера в третьей версии API:

var infowindow = new google.maps.InfoWindow({content: "blah"});

var marker = new google.maps.Marker({
        position: point,
        map: map,
        });

google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
    });
1 голос
/ 01 августа 2010

РЕДАКТИРОВАТЬ: Этот ответ для GMaps V3 - который вы должны использовать, если вы начинаете новый проект - но ваш вопрос подразумевает GMaps V2.

Вы смотрели здесь: http://code.google.com/apis/maps/documentation/javascript/overlays.html#InfoWindows

И просмотрел источник здесь:
http://code.google.com/apis/maps/documentation/javascript/examples/infowindow-simple.html

Это ссылка, которая добавляет информационное окно / пузырь:

var infowindow = new google.maps.InfoWindow({content: contentString});

0 голосов
/ 01 августа 2010

В ответ на ваш первый вопрос попробуйте что-то вроде этого.

var map = new GMap2(document.getElementById("map"));  
var gmarkers = [];  

map.addOverlay(createMarker(new GLatLng(-34.8779420,-58.5514125), "Marker1")); 

function createMarker(point, name)  
{  
    var marker = new GMarker(point);

    if(name!="UserMarker")
        gmarkers.push(marker);  

    GEvent.addListener(marker, 'click', function() {  
        var HTML_CODE=  "<p>Hello</p>";
        marker.openInfoWindowHtml(HTML_CODE);
    });  

    return marker;  
}

Я не понимаю, чего вы хотите от второго вопроса.

...