3

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

これは私のコードです。アベリストウィスエリア用に少し変更されていますが、それ以外の場合は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

誰かがそれを修正する理由と方法を教えてもらえますか?またはジオコーディングの代替手段...

4

1 に答える 1

6

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

于 2012-05-02T19:52:39.687 に答える