konto usunięte

Temat: GoogleMaps - problem z markerem

Witam,
Mam problem ze zmianą ikonki w GoogleMaps markera.
Mam następujące pliki:
index.php:

<title></title>
<script src="http://maps.google.com/maps?file=api&v=2&key=....." type="text/javascript"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="maps.js"></script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 600px; height: 600px"></div>
</body>


Plik maps.js:

var map = null;
var refreshTime = 100;
var prevData = null;


function load()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(1, 1), 6);
map.addControl(new GSmallMapControl());
reloadPoints();
} }

function loadPointData()
{
$.get('points.php', null, addPoints);
}

function addPoints(data)
{
if (prevData != data || data == null)
{
prevData = data;
eval("points = ("+data+")");
pointsCount = points.length;
map.clearOverlays();
for (var i=0; i<pointsCount; i++)
{

var point = new GLatLng(points[i]['lat'],points[i]['lng']);
map.addOverlay(createMarker(point, points[i]['satellite'], points[i]['shadow']));
var label = new ELabel(new GLatLng(points[i]['lat'],points[i]['lng']), '<div style="background-color:#ccccff;border:2px solid black"><small>Jestemsamochodzik1</small></div>', null, new GSize(6,-30), 75);

map.addOverlay(label);


map.setCenter(point, 13);
}
}
}

function createMarker(point, satellite)
{

var icon = new GIcon();
icon.image = "http://maps.google.com/mapfiles/kml/pal2/icon47.png";
icon.shadow = "point[i]['shadow']";
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);
var marker = new GMarker(point, icon);
marker.value = satellite;
GEvent.addListener(marker, "click", function(){
var myHtml = satellite;
map.openInfoWindowHtml(point, myHtml);
});
return marker;
}

function reloadPoints()
{
loadPointData();
setTimeout(reloadPoints,refreshTime);
}


i plik:
points.php (który generuje dane dla mapy):
[{"lat":"53.1692","lng":"18.9787","satellite":"11 ","shadow":"http://maps.google.com/mapfiles/kml/pal2/icon47.png"}]

Problem w tym że współrzędne skrypt łyka bez problemu i nanosi na mapę, ale za to cienia markera (shadow) nie chce wyświetlić:/
points.php jest generowane dynamicznie - w zależnosci od potrzeb, dlatego ścieżka do obrazka/cienia będzie musiała być pobierana tak jak współrzędne - dynamicznie...

Wiecie może co mam źle??


Pozdrawiam,
Łukasz

konto usunięte

Temat: GoogleMaps - problem z markerem

ja przy generowaniu customikonek z zestawow gugli uzywam takich komend:

var domek = new GIcon(baseIcon, "http://maps.google.com/mapfiles/kml/pal3/icon56.png", null, "http://maps.google.com/mapfiles/kml/pal3/icon56s.png");

..czwarty parametr to obrazek z tlem.

edit: i tak przy okazji -> NTG, Twoj problem nie dotyczy PHP ;-)Wojciech Zbigniew Piotrowicz edytował(a) ten post dnia 01.09.08 o godzinie 15:39

konto usunięte

Temat: GoogleMaps - problem z markerem

ale nawiązując do mojego przypadku... Mam dynamiczne pobieranie wartości z pliku:
[{"lat":"53.1692","lng":"18.9787","satellite":"11 ","shadow":"http://maps.google.com/mapfiles/kml/pal2/icon47.png"}]

wszystkie te wartości maps.js interpretuje poprawnie - tylko shadow - cienia nie chce mi wyświetlić... :/

wydaje mi się że to jest kwestia braku/błędnego zapisu czegoś...Łukasz Peta edytował(a) ten post dnia 01.09.08 o godzinie 15:42

konto usunięte

Temat: GoogleMaps - problem z markerem

..ale pliki z cieniem maja "s" w nazwie..

konto usunięte

Temat: GoogleMaps - problem z markerem

fakt, mam teraz tak:
[{"lat":"53.1692","lng":"18.9787","satellite":"11 ","shadow":"http://maps.google.com/mapfiles/kml/pal2/icon47s.png"}]

ale też nie działa...
Marcin Laber

Marcin Laber internet
technologies
magician

Temat: GoogleMaps - problem z markerem

Łukaszu, a przyjrzyj się linii:
icon.shadow = "point[i]['shadow']";

i odpowiedz sobie sam, co tam jest źle ;)

Przy okazji - pozdrowienia od mls'a ;)

I równie przy okazji - grupa PHP nie ma nic wspólnego z JS i Google Maps API :)Marcin Laber edytował(a) ten post dnia 01.09.08 o godzinie 17:08

konto usunięte

Temat: GoogleMaps - problem z markerem

to jest string zamiast zmiennej...;)
zrobiłem icon.shadow = point[i]['shadow'];
ale teraz mapka w ogóle nie pokazuje markera...:/
Marcin Laber

Marcin Laber internet
technologies
magician

Temat: GoogleMaps - problem z markerem

Zapewne dlatego, że nie ma
i
;)

konto usunięte

Temat: GoogleMaps - problem z markerem

fakt;) icon.shadow = point['shadow'];
teraz jest marker, ale bez cienia ciągle..

zmieniłem troszkę kod:
map.addOverlay(createMarker(point, points[i]['satellite'], points['shadow']));

i funkcje:
function createMarker(point, satellite,shadow)
{

var icon = new GIcon();
icon.image = point['shadow'];
icon.shadow = point['shadow'];
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);
var marker = new GMarker(point, icon);
marker.value = satellite;
GEvent.addListener(marker, "click", function(){
var myHtml = satellite;
map.openInfoWindowHtml(point, myHtml);
});
return marker;
}Łukasz Peta edytował(a) ten post dnia 01.09.08 o godzinie 18:14

konto usunięte

Temat: GoogleMaps - problem z markerem

btw. specjalnie dałem w kodzie:
icon.image = point['shadow'];
icon.shadow = point['shadow'];

żeby mieć pewność że na pewno nie wczytuje ;)

mi się wydaje że ta funkcja od markera nie widzi URLa do obrazka....Łukasz Peta edytował(a) ten post dnia 02.09.08 o godzinie 11:53
Maciej Marczewski

Maciej Marczewski Pozytywnie zakręcony
na punkcie polskiej
turystyki.

Temat: GoogleMaps - problem z markerem

Sposób przetestowany i działający:

//stwórz nową ikonę bazową (jej wielkość)
var baseIcon = new GIcon();
baseIcon.iconSize=new GSize(32,32); //wielkosc ikony
baseIcon.shadowSize=new GSize(56,32); //wielkosc cienia
baseIcon.iconAnchor=new GPoint(16,32); //gdzie zaczepic ikone
baseIcon.infoWindowAnchor=new GPoint(16,0); //gdzie zaczepic chmurke

//na jej podstawie utwórz ikonę dla markera
var iAuto = new GIcon(baseIcon, '/img/ico_auto.png', null, '/img/ico_auto_shadow.png');

//stworz marker
var marker = new GMarker(new GLatLng(xcoord,ycoord), iAuto);

//dodaj go do mapy
map.addOverlay(marker);

z takimi pytaniami to raczej na mojej grupie Google Maps: http://www.goldenline.pl/grupa/google-maps

Następna dyskusja:

Problem w GoogleMaps ze wsk...




Wyślij zaproszenie do