PDA

Zobacz pełną wersję : Google Maps kłopot z kilkom markerami na stronie



boldwin
31-03-2009, 00:15
Witam

Próbuję od jakiegoś czasu poradzić sobie z API google maps. Jestem świeży i mimo godzin spędzonych z tutorialami google nie mogę sobie jakoś poradzić z utworzeniem rozsądnej mapy na której mógłbym umieścić kilkanaście markerów wraz dymkami/opisami. Nawet nie próbuje jeszcze podejść do tego tematu w oparciu o bazę danych, dlatego próbuję zrobić plik html do wklejenia we wrapper. Wszystko jest ok poza jednym. W poniższym kodzie mam trzy markery a dymek z informacją zawsze otwiera mi się przy tym ostatnim test3 nawet jeśli klikam na jakiś inny. Pewnie brakuje jakiejś separacji albo czegoś.
Byłbym wdzięczny za pomoc.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAr4GERrbKK1P6codrLQoM gxRJ03kXwZUIUUgM7yIX6e4AUXw7ORRxV27ypiDFESV18CO1MN zKRv4ckQ"
type="text/javascript">***********
<script type="text/javascript">

//<![CDATA[

function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
var mapTypeControl = new GMapTypeControl();
var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
map.addControl(mapTypeControl, topRight);
GEvent.addListener(map, "dblclick", function() {
map.removeControl(mapTypeControl);
map.addControl(new GMapTypeControl(), bottomRight);
});
map.addControl(new GSmallMapControl());
map.setCenter(new GLatLng(52.948637884883205, -9.20654296875), 7);

// zastąp pole informacja danymi do dymka
var info = "test 1 test 1 test 1";
var point = new GLatLng(52.948637884883205, -9.20654296875);
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(info);});
map.addOverlay(marker);

var info = "test 2 test 2";
var point = new GLatLng(52.70967533219883, -9.51416015625);
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(info);});
map.addOverlay(marker);

var info = "test 3 test 3";
var point = new GLatLng(52.93374122040315, -9.80804443359375);
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(info);});
map.addOverlay(marker);
}
}
//]]>
***********
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 500px; height: 300px"></div>
</body>
</html> Oczywiście mówię o joomli 1.5.9
Wrzuciłem ten temat do działu 1.0 przez pomyłkę.

Jola
31-03-2009, 04:55
Witam,
to dość oczywiste:

var info1 = "test 1 test 1 test 1";
var point1 = new GLatLng(52.948637884883205, -9.20654296875);
var marker1 = new GMarker(point1);
GEvent.addListener(marker1, "click", function() {
marker1.openInfoWindowHtml(info1);});
map.addOverlay(marker1);

var info2 = "test 2 test 2";
var point2 = new GLatLng(52.70967533219883, -9.51416015625);
var marker2 = new GMarker(point2);
GEvent.addListener(marker2, "click", function() {
marker2.openInfoWindowHtml(info2);});
map.addOverlay(marker2);

var info3 = "test 3 test 3";
var point3 = new GLatLng(52.93374122040315, -9.80804443359375);
var marker3 = new GMarker(point3);
GEvent.addListener(marker3, "click", function() {
marker3.openInfoWindowHtml(info3);});
map.addOverlay(marker3); pozdrawiam

boldwin
31-03-2009, 20:34
Wielkie dzięki za pomoc.
Takie proste i działa.
Muszę jednak znaleźć czas na postudiowanie php.
Może bukiet kwiatów dla żony i wysłanie synka na tydzień do rodziców pomoże.

Jeszcze raz wielkie dzięki.

Jola
31-03-2009, 20:39
Raczej dla męża :D !!!
Ale nie wiem czy się ucieszy.

boldwin
31-03-2009, 22:37
No miałem na myśli swoją drugą połówkę i swojego 17 miesięcznego destrojera ale masz rację. Jakby co to prześlij adres a ja już dzwonię do kwiaciarni.

Jeszcze raz dzięki za pomoc Jola