2010-12-10 4 views
19

誰かがgoogle maps api v3の名前で国を中心にする方法を教えてくれますか?私はv2でそれを行う方法を知っていますが、v3でそれを行う必要があります。名前で国を中心にGoogleマップapi v3

乾杯!

答えて

43

ジオコーディングを使用して国の緯度/経度を検索できます。
Googleからのsampleをご覧ください。

基本的にはこのような何かをする必要があります:あなたの初期化関数で

var country = "Germany"; 
var geocoder; 

geocoder.geocode({'address' : country}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
    } 
}); 

あなたはこのように、ジオコーダオブジェクトの値を設定する必要があります:

geocoder = new google.maps.Geocoder(); 

あなたは思います適切なズームレベルを試してからマップを中央に配置した後に設定する必要があります。

+0

私はこれが地図を再配置する最もクリーンでシンプルな方法だと思っています...ありがとう:) –

0

私がそれを行う方法を知っている唯一の方法は、各国のLatとLngのリストを持つことです。その情報は、次のコードを使用できることがわかっています。

var myLatlng = new google.maps.LatLng(-34.397, 150.644); 
var myOptions = { 
    zoom: 8, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 

あなたはv2でどのようにしますか?

+0

あなたがAPIで提供ジオコーダに国名を渡し、そしてあなたがそこに行ってきたと同じように結果の緯度/経度を使用することができます。 – RYFN

1

は、このコードは私のために働い:

 let geocoder = new google.maps.Geocoder(); 
     let location = "England"; 
     geocoder.geocode({ 'address': location }, function(results, status){ 
      if (status == google.maps.GeocoderStatus.OK) { 
       map.setCenter(results[0].geometry.location); 
      } else { 
       alert("Could not find location: " + location); 
      } 
     }); 
関連する問題