korzystam z geolokalizacji Google, aby określić współrzędne za pośrednictwem wyłącznie nazwy ulicy,
Kod:
function codeAddress() { var rozmiar = new google.maps.Size(20,34); var rozmiar_cien = new google.maps.Size(37,34); var punkt_startowy = new google.maps.Point(0,0); var punkt_zaczepienia = new google.maps.Point(10,34); var ikona_url = new google.maps.Point(15,12); var ikona_green = new google.maps.MarkerImage("xxxxx/marker.png", rozmiar, punkt_startowy, punkt_zaczepienia); var ikona_green_shadow = new google.maps.MarkerImage("http://www.google.com/intl/en_ALL/mapfiles/shadow50.png", rozmiar_cien, punkt_startowy, punkt_zaczepienia); var address = document.getElementById("address").value; geokoder.geocode( {'address': 'Warszawa, ' + address}, function(results, status) { var marker; if (status == google.maps.GeocoderStatus.OK) { document.mapa.kod.value = results[0].geometry.location; mapa.setCenter(results[0].geometry.location); function updateMarkerPosition(latLng) { $("#kod").val( [ latLng.lat(), latLng.lng() ].join(', ')); } if( marker != null ) { marker.setPosition( results[0].geometry.location ); updateMarkerPosition( results[0].geometry.location ); } else { marker = new google.maps.Marker({ map: mapa, icon: ikona_green, shadow: ikona_green_shadow, position: results[0].geometry.location, draggable: true, zoom: 5 }); updateMarkerPosition(results[0].geometry.location); google.maps.event.addListener(marker, 'drag', function(local) { updateMarkerPosition(marker.getPosition()); }); } } else { alert("Geocode was not successful for the following reason: " + status); } }); }
Do dodania markera na mapie używam przycisku,
<input type="button" value="Sprawdź lokalizację" onclick="codeAddress()"/>
który kieruje się wartością (nazwą ulicy) wpisanej w polu input:
<input type="text" value="Nazwa ulicy" id="address" />
Co mam zrobić, aby po ponownym kliknięciu na przycisk "Sprawdź lokalizację" usuwało poprzedni marker ?
Po wpisaniu innej nazwy ulicy i kliknięciu pokazuje się nowy marker z nową lokalizacją...
Pozdrawiam !