Javascript 与谷歌地图网站不同,谷歌地图地理编码器不会找到不准确地址的地方
我正在尝试使用谷歌地图地理编码服务。我复制了代码,它似乎找到了不错的地址(例如“13 Marine Terrace Aberystwyth”),但找不到像“Rummers Wine Bar,Aberystwyth”这样的其他地方,尽管实际的谷歌地图网站根本没有问题 这是我的代码,稍作修改以用于Aberystwyth区域,但复制了表单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.
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®ion=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>