2009-08-21 8 views
0

私はプロパティポータルで働いています。私はGMAPと実装を行う必要があります/google map私のリストボックス(都市、町)選択のための地図上に動的にマークをつける

私は、動的リストボックスを持っていると私は動的に私の都市や町選択のための地図上のマークを付けるにはGoogleマップを必要とする...

が助けに感謝します!おかげ

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

+0

あなたはまだ何か試しましたか?私たちを示すいくつかのコード? – bjelli

答えて

0

私はこの拡張機能(JSライブラリ)を使用することをお勧めします: http://www.pixeldevelopment.com/pdmarker.asp

座標については、希望の都市のための正しい座標を取得するためにGoogleのAPIを経由してジオコーダを行う必要があります。

1

あなただけの都市の名前またはアドレスを持っている場合は、次の関数を使用します以下の必要に応じて、あなたはすべての値を持っている場合

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); 
     } 
    } 
); 
} 

さもないと、次のコードを使用します。

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

上記の値をお持ちの場合は、次の機能を使用してGoogleマップを作成することができます。

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

これは、マップにマーカーを追加する最も簡単な方法です。

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