2012-09-23 3 views
23

最初は、私の地図はユーザの現在地を指していました。私は彼がオートコンプリートボックスから都市を選ぶことができるオプションを与えています。オートコンプリートから新しい場所を選択すると、私は自分のマップにフォーカスを合わせる新しい(緯度、経度)座標を取得します。マーカーを消去せずにGoogleマップの中心を動的に変更するにはどうすればよいですか?

Maps APIに関する私の知識から、私は中心を変更すると考えることができます(しかし、中心は地図をロードしている間のみ設定されます)。私はGoogleマップ上のユーザーが選択した場所にこのフォーカスを達成したい。誰かが私を助けてくれるの?前もって感謝します。 Google Maps js api v3を使用しています。

答えて

59

map.setCenter(LatLng)で地図を移動するだけです。このメソッドは他のマーカーを使用せず、既存のマーカーを消去しません。 panTo(LatLng)機能を使用して地図を移動することもできます。両方のメソッドは、マップが初期化された後も使用できます。

Here is the documentation for these methods

+3

'panToの()' 'それはあなたのアニメーションを与えることsetCenter'よりも優れているを使用する必要があります。 'setCenter'を使うときのような頭痛がないので便利です。 – Soaku

13

ジョーンズは右である、あなたはsetCenter()

function initialize() 
{ 
    var mapDiv = document.getElementById('MapDiv'); 
    var map; 
    var address = "Vilnius, Lithuania"; 
    var geocoder = new google.maps.Geocoder(); 
    // Get LatLng information by name 
    geocoder.geocode({ 
     "address": address 
     }, function(results, status){ 
       map = new google.maps.Map(mapDiv, { 
       // Center map (but check status of geocoder) 
       center: results[0].geometry.location, 
       zoom: 8, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
      }) 
     }); 
} 
+2

dude-setCenterが動作してくれてありがとうございました。 +1ジオコードの例:) –

+1

あなたは歓迎です。ジオコーダーはヒントです –

関連する問題