2010-08-01 4 views
2

Это своего рода newebie вопрос, я пытаюсь добавить информацию в моих маркеров, как добавить воздушный шар с информацией для этого кодаКак работать с картами Google?

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

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

ответ

2

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

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

Вот example of adding multiple markers and opening info windows for each one (source).

Вы второй вопрос:

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

N.B. В вашем примере вы используете API version two. Недавно version three 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); 
    }); 
+0

Какие преимущества я получаю, кроме того, что в последней и текущей версии? Я не получаю воздушный шар: (как бы выглядел код? например, если у меня есть ... map.addOverlay (новый GMarker (новый GLatLng (, ))); через некоторое время с результатами N? : -Простите, что просили эту @Cannonade, это сводит меня с ума: P – Saikios

+0

@Saikios. Версия 3 - лучшая альтернатива. API проще в использовании, работает лучше и теперь имеет в основном тот же набор функций, что и оригинал. Поэтому, прежде чем вы окажетесь слишком далеко от отверстия кролика v2, попробуйте начать с v3. – RedBlueThing

+0

Я пытался, но не просто по этому коду: P, знаете ли вы, есть ли хороший пример с более чем одним маркером? – Saikios

1

EDIT: Этот ответ предназначен для 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

Это ссылка, которая добавляет InfoWindow/пузырь:

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

+0

Вы связались с документацией v3 api (которая является текущей рекомендуемой версией). Но его вопрос - код v2 (GMarker и GLatLng), поэтому эти примеры не помогут. – RedBlueThing

+0

спасибо за ответ @Cannonade = D, спасибо за ответ вам тоже Альтман, я прочитал обе страницы – Saikios

+0

@Saikios Нет проблем :). Еще один момент в этом ответе. Последняя строка кода создаст информационное окно в третьей версии API, но оно не будет отображаться на карте. Для этого вам нужно вызвать метод open объекта информационного окна. – RedBlueThing

0

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

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; 
} 

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

+0

Я прочитал на нескольких форумах код, в котором они сделали функцию, которая добавила точку, которая была бы осязаемой, и если вы коснетесь ее, появится всплывающее окно. Поэтому мой вопрос в том, можно ли связать действие с отмеченной точкой или если они 2 действия – Saikios