konto usunięte

Temat: Google Maps - centrowanie markerów

Witam serdecznie,
mam taką aplikację:

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>

<body onload = "mapaStart()";>
<script type="text/javascript">
<!--
var mapa; // obiekt globalny

function dodajMarker(opcjeMarkera)
{
opcjeMarkera.map = mapa;
var marker = new google.maps.Marker(opcjeMarkera);
google.maps.event.addListener(marker,'click',function(zdarzenie)
{
dymek.setContent('<strong>Kliknąłeś na marker!</strong><br />Współrzędne GPS markera:<br />'+marker.getPosition());
dymek.setPosition(marker.getPosition());
dymek.open(mapa);
});
}

function mapaStart()
{

var wspolrzedne = new google.maps.LatLng(53.41935400090768,14.58160400390625);
var opcjeMapy = {
zoom: 10,
center: wspolrzedne,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
mapa = new google.maps.Map(document.getElementById("mapa"), opcjeMapy);


// wspólne cechy ikon
var rozmiar = new google.maps.Size(32,32);
var punkt_startowy = new google.maps.Point(0,0);
var punkt_zaczepienia = new google.maps.Point(16,16);

// ikonki
var ikona1 = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal2/icon38.png", rozmiar, punkt_startowy, punkt_zaczepienia);
var ikona2 = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal4/icon23.png", rozmiar, punkt_startowy, punkt_zaczepienia);
var ikona3 = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal3/icon13.png", rozmiar, punkt_startowy, punkt_zaczepienia);

dodajMarker({position: new google.maps.LatLng(53.4203,14.7011), title: 'Restauracja #1', icon: ikona1});
dodajMarker({position: new google.maps.LatLng(13.3902,14.7202), title: 'Restauracja #2', icon: ikona1});
dodajMarker({position: new google.maps.LatLng(53.4101,14.6033), title: 'Myjnia', icon: ikona2});
dodajMarker({position: new google.maps.LatLng(53.4014,14.5104), title: 'Tu byłem 6 razy', icon: ikona3});

}
-->
</script>


Nie wiem jak zrobić:
- dymek z opisem po kliknięciu na markera (dla każdego markera będzie inny text)
- centrowaniem markerów (chciałbym żeby mapka zawsze pokazywała wszystkie markery jakie są na mapie - przy optymalnym zoomie).

Markery (położenie) będę sobie generował w PHP :-)

Wie ktoś może jak to zrobić?


Z góry dzięki za pomoc,
Łukasz
Jarek Tkaczyk

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

Temat: Google Maps - centrowanie markerów


...
function dodajMarker(opcjeMarkera, content)
...
dymek.setContent(content);
...

<?php foreach($markers as $marker) : ?>
dodajMarker({
position: new google.maps.LatLng($marker->lat, $marker->lng),
title: $marker->title
},
$marker->content
);
<?php endforeach; ?>
...
tutaj zmieniasz zoom mapy


a jak zmienić zoom mapy sprawdź np. tutja: http://answers.yahoo.com/question/index?qid=2008032216..., tylko dostosuj to do swojego api v3Jarek Tkaczyk edytował(a) ten post dnia 05.06.10 o godzinie 16:09
Piotr Krzyszkowski

Piotr Krzyszkowski Specjalista IT,
ALIOR BANK S.A.

Temat: Google Maps - centrowanie markerów

Ustawienie odpowiedniego zoomu, żeby było widać wszystkie markery:
Rozwiązanie dla wersji V3:

1) tworzymy globalny obiekt bounds
var bounds = new google.maps.LatLngBounds();

2) przy tworzeniu markera dodać pozycje do bounds
bounds.extend(new google.maps.LatLng(lat, lng));

3) wywałać metodę (var mapa; // obiekt globalny)
mapa.fitBounds(bounds);Piotr Krzyszkowski edytował(a) ten post dnia 08.06.10 o godzinie 11:22

Następna dyskusja:

Ponowne uzycie zainicjowane...




Wyślij zaproszenie do