Adam Ferens

Adam Ferens Informatyk

Temat: Markery jako linki z własnymi inkonami

Witam serdecznie jestem początkującym w Java Script i mam problem z wykonaniem mapy.

Niby proste zadanie:
Mapa z naniesionymi kilkoma markerami, które jednocześnie są linkami do różnych stron w Internecie. Do tego chciałem zastosować własne ikony markerów.

Próbuję korzystać z kursów na http://gmapsapi.com ale jak mam połączyć wszystko do kupy to mapa i tak nie chce działać.

Bardzo proszę o pomoc i przepraszam jeśli moje pytanie okaże się dla niektórych zbyt lamerskie :( Ale już od kilku dni się z tym męczę i zero efektów.
Jarek Tkaczyk

Jarek Tkaczyk www.GoHolidays.pl -
siła napędowa

Temat: Markery jako linki z własnymi inkonami

a co konkretnie nie chce działać?
może dasz kod, to będzie się dało pomóc :)
Adam Ferens

Adam Ferens Informatyk

Temat: Markery jako linki z własnymi inkonami

Np. mam taki kod:


var mapa; // obiekt globalny
function mapaStart()
{
if(GBrowserIsCompatible())
{
// tworzymy mapę satelitarną i centrujemy w okolicy Szczecina na poziomie zoom = 10
mapa = new GMap2(document.getElementById('mapka'),{mapTypes: [G_SATELLITE_MAP]});
mapa.setCenter(new GLatLng(53.41935400090768,14.58160400390625),10);

// deklaracja ikonki numer jeden
var ikona1 = new GIcon();
ikona1.image = "http://maps.google.com/mapfiles/kml/pal2/icon38.png";
ikona1.shadow = "http://maps.google.com/mapfiles/kml/pal2/icon38s.png";
ikona1.iconSize = new GSize(32, 32);
ikona1.infoWindowAnchor = new GPoint(16,16);
ikona1.iconAnchor = new GPoint(16,16);
ikona1.shadowSize = new GSize(59, 32);

// deklaracja ikonki numer dwa
var ikona2 = new GIcon(ikona1);
ikona2.image = "http://maps.google.com/mapfiles/kml/pal4/icon23.png";
ikona2.shadow = "http://maps.google.com/mapfiles/kml/pal4/icon23s.png";

// deklaracja ikonki numer trzy
var ikona3 = new GIcon(ikona1);
ikona3.image = "http://maps.google.com/mapfiles/kml/pal3/icon13.png";
ikona3.shadow = "http://maps.google.com/mapfiles/kml/pal3/icon13s.png";

// dodamy kilka losowych markerów
dodajMarker(53.4203,14.7011,{title: 'Restauracja #1', icon: ikona1});
dodajMarker(53.3902,14.7202,{title: 'Restauracja #2', icon: ikona1});
dodajMarker(53.4101,14.6033,{title: 'Myjnia', icon: ikona2});
dodajMarker(53.4014,14.5104,{title: 'Tu byłem 6 razy', icon: ikona3});
}
}

function dodajMarker(lat,lon,opcje)
{
// obiekt mapa jest obiektem globalnym!
mapa.addOverlay(new GMarker(new GLatLng(lat,lon),opcje));
}


Co zrobić aby ikonki były jednocześnie linkami?
Jarek Tkaczyk

Jarek Tkaczyk www.GoHolidays.pl -
siła napędowa

Temat: Markery jako linki z własnymi inkonami

Adam Ferens:
Np. mam taki kod:


...


Co zrobić aby ikonki były jednocześnie linkami?

Jak jeszcze nie znalazłeś odpowiedzi, to http://www.goldenline.pl/forum/google-maps/1481070
tu masz info - mój post mówi o nowym oknie, Piotrka o linku do tego samego okna.

Tu masz gotowe rozwiązanie do twojego kodu, zmodyfikuj dodajMarker np. w taki sposób dodając listenera i link jako kolejny argument:

function dodajMarker(lat,lon,opcje,link)
{
var marker = new GMarker(new GLatLng(lat,lon)); //tworzymy obiekt któremu nadamy listener:
GEvent.addListener(marker,"click",function()
{
window.open(link);
});
mapa.addOverlay(marker,opcje);
}
Jan Nowicki

Jan Nowicki Student, Uniwersytet
Ekonomiczny w
Poznaniu

Temat: Markery jako linki z własnymi inkonami

Witam
Również jestem początkujący i próbuję szczęścia z APIv3.
Muszę zrobić mapę z kilkoma markerami - kliknięty marker ma linkować do adresu URL, który ma zostać otwarty w tym samym oknie. Każdy marker ma wskazywać na inny URL. Tak wygląda mój kod:


<script type="text/javascript">
<!--
var mapa; // obiekt globalny
function dodajMarker(opcjeMarkera)
{
opcjeMarkera.map = mapa;
var marker = new google.maps.Marker(opcjeMarkera);
}
function mapaStart()
{
var wspolrzedne = new google.maps.LatLng(54.352394634033885,16.67999267578125);
var opcjeMapy = {
zoom: 8,
center: wspolrzedne,
mapTypeId: google.maps.MapTypeId.HYBRID,
disableDefaultUI: true,
mapTypeControl: false, // kontrolka trybu mapy
scaleControl: false, // kontrolka skali
navigationControl: true, // kontrolka nawigacji
navigationControlOptions:
{
style: google.maps.NavigationControlStyle.SMALL // w stylu SMALL
}

};
mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);
// wspólne cechy ikon
var rozmiar = new google.maps.Size(20,34);
var punkt_startowy = new google.maps.Point(0,0);
var punkt_zaczepienia = new google.maps.Point(10,34);
// ikonki
var ikona1 = new google.maps.MarkerImage("http://www.google.com/intl/en_ALL/mapfiles/marker.png", rozmiar, punkt_startowy, punkt_zaczepienia);
// poczatek definicji markerow

dodajMarker({position: new google.maps.LatLng(53.92827929109825,14.444618225097656), title: 'Międzyzdroje', icon: ikona1});
}
-->
</script>
<div id="mapka" style="width: 100%; height: 350px; border: 1px solid black; background: gray;">
<!-- tu będzie mapa -->
</div>


Proszę o pomoc.

Temat: Markery jako linki z własnymi inkonami

W api v3 o tym co się dzieje po kliknięciu markera, decyduje taki kod:

google.maps.event.addListener(marker,"click",function(){

// tu piszesz co się ma dziać po kliknięciu markera
// w Twoim przypadku:

window.location = "http://www.jakis_adres.pl";


});
Krystian Pietruszka edytował(a) ten post dnia 23.08.10 o godzinie 15:06

Następna dyskusja:

marker na mapie jako link




Wyślij zaproszenie do