Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与谷歌地图网站不同,谷歌地图地理编码器不会找到不准确地址的地方_Javascript_Google Maps Api 3 - Fatal编程技术网

Javascript 与谷歌地图网站不同,谷歌地图地理编码器不会找到不准确地址的地方

Javascript 与谷歌地图网站不同,谷歌地图地理编码器不会找到不准确地址的地方,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在尝试使用谷歌地图地理编码服务。我复制了代码,它似乎找到了不错的地址(例如“13 Marine Terrace Aberystwyth”),但找不到像“Rummers Wine Bar,Aberystwyth”这样的其他地方,尽管实际的谷歌地图网站根本没有问题 这是我的代码,稍作修改以用于Aberystwyth区域,但复制了表单 var地理编码器; var映射; 函数初始化(){ geocoder=新的google.maps.geocoder(); var latlng=新的google.

我正在尝试使用谷歌地图地理编码服务。我复制了代码,它似乎找到了不错的地址(例如“13 Marine Terrace Aberystwyth”),但找不到像“Rummers Wine Bar,Aberystwyth”这样的其他地方,尽管实际的谷歌地图网站根本没有问题

这是我的代码,稍作修改以用于Aberystwyth区域,但复制了表单


var地理编码器;
var映射;
函数初始化(){
geocoder=新的google.maps.geocoder();
var latlng=新的google.maps.latlng(52.4156,-4.0829);
变量myOptions={
缩放:14,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
}
函数代码地址(){
var address=document.getElementById(“地址”).value;
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(结果[0].geometry.location);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。几何体。位置
});
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
函数代码()
{document.write(结果[0].geometry.location);}
});
}
代码();

这是一个链接:


谁能告诉我为什么以及如何修复它?或者任何地理编码的替代方案……

Google Maps API中有一个名为的库。您可以使用其
search()
nearbySearch()
textSearch()
方法来搜索POI和地标。

我认为他们的公共地理编码api不会处理企业名称或地标名称,而只处理邮政地址。
<!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>