![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam 3 pola do wpisania miasta, kodu pocztowego i ulicy.
Button "zaznacz na mapie". W wersji v2 mapy google ładnie to działało. Teraz próbuję przerobić to do wersji V3 i nie działa. To co wiedziałem to zmieniłem na v3. Pod kodem opis problemu Kod JS Kod var mapa; var marker; var geo; var ikona = new google.maps.MarkerImage(); ikona.image = "http://maps.google.com/mapfiles/kml/pal2/icon13.png"; ikona.iconAnchor = new google.maps.Point(16, 16); ikona.shadow = ""; ikona.infoWindowAnchor = new google.maps.Point(16,16); ikona.iconSize = new google.maps.Size(32, 32); function pobierzWartosc(obiektRadio) { if(!obiektRadio) return null; var ilosc = obiektRadio.length; if(ilosc == undefined) if(obiektRadio.checked) return obiektRadio.value; else return null; for(var i=0; i<ilosc; i++) { if(obiektRadio[i].checked) { return obiektRadio[i].value; } } return null; } function mapaStart() { var wspolrzedne = new google.maps.LatLng(50.77120783188783, 17.5396728515625); var opcjeMapy = { zoom: 8, center: wspolrzedne, mapTypeId: google.maps.MapTypeId.ROADMAP, disableDefaultUI: true }; mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy); geo = new google.maps.Geocoder(); marker = new google.maps.Marker(mapa.getCenter(),{icon: ikona, draggable: true}); marker.opis = 'bez opisu'; marker.setMap(mapa); // zdarzenia dla markera google.maps.Event.addListener(marker,'drag',uaktualnijWspolrzedne); // zdarzenia dla mapy google.maps.Event.addListener(mapa,'click',function(o,p) { if(p) { marker.setPoint(p); uaktualnijWspolrzedne(); } }); google.maps.Event.addListener(marker,'click',function() { marker.openInfoWindowHtml(marker.opis); }); google.maps.Event.trigger(marker,'drag'); uaktualnijDymek() } function skoczDoAdresu(adres) { if(!geo) return; geo.getPosition(adres,function(punkt) { if (!punkt) { // jeśli punkt nie istnieje, to adres nie został znaleziony alert(adres + " nie został znaleziony!"); } else { // centrujemy na znalezionym punkcie mapa.panTo(punkt); // czyścimy markery z mapy mapa.clearOverlays(); // dodajemy w tym miejscu marker marker = new google.maps.Marker(punkt,{icon: ikona, draggable: true, title: adres}); mapa.addOverlay(marker); uaktualnijWspolrzedne(); google.maps.Event.addListener(marker,'drag',uaktualnijWspolrzedne); // i otwieramy dymek z adresem marker.openInfoWindowHtml('<strong>Poszukiwany adres</strong><br />'+adres); } }); } function uaktualnijWspolrzedne() { var input_lat = document.getElementById('lat'); var input_lng = document.getElementById('lng'); var punkt = marker.getLatLng(); input_lat.value = punkt.lat(); input_lng.value = punkt.lng(); } function uaktualnijIkone() { var url = pobierzWartosc(document.forms['formularz'].elements['ikona']); marker.setImage(url); uaktualnijDymek() } function uaktualnijDymek() { var url = pobierzWartosc(document.forms['formularz'].elements['ikona']); var tytul = document.getElementById('nazwa').value; var opis = document.getElementById('opis').value; var html = '<img src="'+url+'" alt="" style="float: right; border: 0;" /><h3 class="marker">'+tytul+'</h3><p class="marker">'+opis+'</p>'; marker.opis = html; if(mapa.getInfoWindow() && !mapa.getInfoWindow().isHidden()) google.maps.Event.trigger(marker,'click'); } function geolokalizuj() { var adres = document.getElementById('miasto').value + " " + document.getElementById('kodpocztowy').value + ", ul. " + document.getElementById('ulica').value; skoczDoAdresu(adres); } Przycisk do zaznaczania
W konsoli firefox pokazuje błąd TypeError: google.maps.Event is undefined odnośnie linijki Kod google.maps.Event.addListener(marker,'click',function() Drugi błąd przy kliknięciu na przycisk "zaznacz na mapie" TypeError: geo.getPosition is not a function odnośnie linijki Kod geo.getPosition(adres,function(punkt) Nie mogę sobie z tym poradzić. Ten post edytował roghatt 28.01.2014, 13:39:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 23:12 |