2009-08-21 8 views
0

Ich arbeite an einem Immobilienportal. Ich muss mit GMap Implementierung tun:/Google Karte dynamisch setzen Markierung auf der Karte für meine Listbox (Stadt, Stadt) Auswahl

Ich habe eine dynamische listbox und ich brauche google map dynamisch Markierung auf der Karte für meine Stadt und Stadtauswahl zu setzen ...

schätzen hilft !!

dank

alt text http://img.skitch.com/20090821-txmaw93yjt5ua197t41f6k1e3u.jpg

+0

haben Sie noch nichts probiert? ein Code, um uns zu zeigen? – bjelli

Antwort

1

Wenn Sie nur Stadtnamen oder Adresse haben, verwenden Sie die folgende Funktion:

var map = new GMap2(document.getElementById("map")); 
var geocoder = new GClientGeocoder(); 

function showAddress(address) { 
    geocoder.getLatLng(
    address, 
    function(point) { 
     if (!point) { 
     alert(address + " not found"); 
     } else { 
     map.setCenter(point, 13); 
     var marker = new GMarker(point); 
     map.addOverlay(marker); 
     marker.openInfoWindowHtml(address); 
     } 
    } 
); 
} 

Oder wenn Sie die alle Werte haben wie unter Verwendung den folgenden Code erforderlich:

var json_loc = { "locationName": "xxxx", "locationAddress": "xxxx", "latitude": xxxx, "longitude": xxxx }; 

Wenn Sie die oben genannten Werte haben, können Sie die folgenden Funktionen verwenden, um Google Maps zu haben.

var map = new GMap2(document.getElementById("map")); 
var point = new GLatLng(json_loc.latitude, json_loc.longitude); 
var locationName = json_loc.locationName; 
var locationAddress = json_loc.locationAddress; 
map.setCenter(point, 14); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.addOverlay(locationView.createMarker(point, locationName, locationAddress)); 
// Creates a marker whose info window displays the letter corresponding 
// to the given index. 
createMarker: function(point, locationName, locationAddress) { 
    var marker = new GMarker(point);  
    GEvent.addListener(marker, "mouseover", function() { 
     marker.openInfoWindowHtml("<b>" + locationName + "</b><br>" + locationAddress); 
    }); 
    return marker; 
} 
0

Dies ist die einfachste Möglichkeit, einen Marker zu einer Karte hinzuzufügen.

var point = new GLatLng(40,10); 
var marker = new GMarker(point); 
map.addOverlay(marker); 
Verwandte Themen