2012-04-26 8 views
2

Google Mapsジオコーディングサービスを使用しようとしています。実際のGoogleマップのウェブサイトにはまったく問題はありませんが、コードをコピーしたところ、「Rummers Wine Bar、Aberystwyth」のような住所はうまく見つかりません(たとえば「13 Marine Terrace Aberystwyth」)。Google Mapsジオコーダーは、Googleマップのウェブサイトとは異なり、正確な住所ではない場所を見つけません。

これは少しアベリストウィスエリアのように変更、私のコードですが、そうでない場合はコピーしたフォームhttps://developers.google.com/maps/documentation/javascript/tutorial

<!DOCTYPE html> 
<html> 
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 

     <link rel="stylesheet" type="text/css" href="styles.css" /> 

    <script type="text/javascript" 


/*you can use https if you want it secure!!! set java scrip sensor to true and read from gps!*/ 


     src="http://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXo-tdDimvjIs&sensor=false&region=GB"> 
    </script> 
    <script type="text/javascript"> 

var geocoder; 
    var map; 
    function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(52.4156, -4.0829); 
    var myOptions = { 
     zoom: 14, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    } 

    function codeAddress() { 
    var address = document.getElementById("address").value; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: results[0].geometry.location 

     }); 

     } else { 
     alert("Geocode was not successful for the following reason: " + status); 
     } 
      function code() 
          {document.write(results[0].geometry.location);} 
    }); 
    } 
     </script> 
    </head> 

<body onload="initialize()"> 
<div id="map_canvas" style="width: 320px; height: 480px;"></div> 
    <div> 
    <input id="address" type="textbox" value="aberystwyth"> 
    <input type="button" value="Encode" onclick="codeAddress()"> 
    </div> 
     </script> 
    <script type="text/javascript"> 
    code(); 
    </script> 
</body> 

これはそれへのリンクです:http://users.aber.ac.uk/avh9/thesite/geocodeaber.html

誰が、なぜ教えてもらえますそれを修正する方法は?またはジオコーディングの代替手段です。

+0

私は、彼らの公開ジオコーディングAPIがビジネス名やランドマーク名を扱うのではなく、郵便番号だけを扱うと思います。 – Nadh

答えて

5

Google Maps APIにPlaces Libraryというライブラリがあります。 POIとランドマークを検索するには、 search() nearbySearch()またはtextSearch()の方法を使用できます。

関連する問題