Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX/JS] Dynamiczna pozycja w google maps
kiler129
post 17.05.2008, 19:33:54
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Mam oto sobie kod:

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Simple Google map</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA6bgNPXkAosfTjyzkgZY4MhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTqt1uKwNHv
O3FH913433lf2Is_w"
      type="text/javascript"></script>
      
<style>
.blink { text-decoration: blink; font-style: italic; }
table{ float: left; margin-right: 5px; }
div{ float: left; }
</style>
    <script type="text/javascript" src="loader.js"></script>
<script type="text/javascript">
//<![CDATA[
// Google Map Maker script v.1.1
// (c) 2006 Richard Stephenson http://www.donkeymagic.co.uk
// Email: donkeymagic@gmail.com
// http://mapmaker.donkeymagic.co.uk
var map;
var icon0;
var newpoints = new Array();

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function'){
        window.onload = func
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

addLoadEvent(loadMap);
addLoadEvent(addPoints);

function loadMap() {
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng( 53.5664141528, -2.57080078125), 5);
    map.setMapType(G_MAP_TYPE);

    icon0 = new GIcon();
    icon0.image = "http://www.google.com/mapfiles/marker.png";
    icon0.shadow = "http://www.google.com/mapfiles/shadow50.png";
    icon0.iconSize = new GSize(20, 34);
    icon0.shadowSize = new GSize(37, 34);
    icon0.iconAnchor = new GPoint(9, 34);
    icon0.infoWindowAnchor = new GPoint(9, 2);
    icon0.infoShadowAnchor = new GPoint(18, 25);
}

function addPoints() {

    newpoints[0] = new Array(55.00000000000000, -1.93359375, icon0, '', 'Twoja pozycja');

    for(var i = 0; i < newpoints.length; i++) {
        var point = new GPoint(newpoints[i][1],newpoints[i][0]);
        var popuphtml = newpoints[i][4];
        var marker = createMarker(point,newpoints[i][2],popuphtml);
        map.addOverlay(marker);
    }
}

function createMarker(point, icon, popuphtml) {
    var popuphtml = "<div id=\"popup\">" + popuphtml + "<\/div>";
    var marker = new GMarker(point, icon);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(popuphtml);
    });
    return marker;
}
//]]>
</script>

<style type="text/css">
div#popup {
background:#EFEFEF;
border:1px solid #999999;
margin:0px;
padding:7px;
width:270px;
}
</style>
</head>
  <body onload='process()'>

<table border="1">
<tr><td><b>MAPS RAW 1</b></td><td id="maps1"><p class="blink">[BRAK DANYCH]</p></td></tr>
<tr><td><b>MAPS RAW 2</b></td><td id="maps2"><p class="blink">[BRAK DANYCH]</p></td></tr>
</table>

<div id="map" style="width:500px;height:350px"></div>
</body>
</html>


Ajax uzupelnia pola w tabeli i chcaialbym aby po uzupelnieniu ronwniez marker na mapie zmienil swoja pozyccje. Czy ejst to mozliwe dynamicznie bez odswiezania ?
Jesli tak to jak podsunac do tego JS`a od gmaps nowe dane i zmusic go aby uaktualnil marker?


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
morty86
post 22.05.2008, 11:33:07
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.02.2008

Ostrzeżenie: (10%)
X----


Cytat(kiler129 @ 17.05.2008, 19:33:54 ) *
Ajax uzupelnia pola w tabeli i chcaialbym aby po uzupelnieniu ronwniez marker na mapie zmienil swoja pozyccje. Czy ejst to mozliwe dynamicznie bez odswiezania ?
Jesli tak to jak podsunac do tego JS`a od gmaps nowe dane i zmusic go aby uaktualnil marker?

Do zmiany pozycji markera służy metoda setPoint(nowyPunkt) obiektu GMarker.


--------------------
Poznaj Google Maps API - największa polska strona o Google Maps API
Go to the top of the page
+Quote Post
kiler129
post 23.05.2008, 00:05:44
Post #3





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Tak ale chyba jesli ustawie na nowo marker musze reloadowac mape, czyz nie ?
Widze ze jestes specem od gmap api - odezwij sie na gg: 6388911 lub napisz swoje to ja sie odezwe smile.gif


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
topgun777
post 17.02.2009, 12:14:57
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 27.05.2008

Ostrzeżenie: (0%)
-----


Pozycje markera mozna spokojnie zmieniac bez przeładowywania strony tylko potrzebny jest handle to tego markera:
ja u siebie osobiscie używam do tego funkcji: .setLatLng(new GLatLng(lat,lon)) gdzie lat i lon to wsp. nowej pozycji w jakiej go chcesz miec.
Go to the top of the page
+Quote Post
MMX3
post 22.02.2009, 19:40:19
Post #5





Grupa: Zarejestrowani
Postów: 155
Pomógł: 9
Dołączył: 26.01.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


ale chodzi tobie o animacje przechodzenie z jednego markera do kolejnego?


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 20:02