gpt4 book ai didi

javascript - Google Maps API v3 返回 ZERO_RESULTS 但 Maps.Google.com 显示正常

转载 作者:行者123 更新时间:2023-11-30 17:43:06 27 4
gpt4 key购买 nike

在这方面需要一些帮助。

我正在使用 Google Maps API v3 获取存储在我的数据库中的人类可读地址的纬度和经度,然后在 Google map Canvas 上放置 1 个标记。非常简单。

我遇到的问题是某些地址正在返回状态代码 --> ZERO_RESULTS

如果我在 maps.google.com 中输入这些相同的地址,他们会找到该特定区域,并使用带有近似值的标记对其进行映射。

我数据库中的一些地址并不具体,这意味着它们可能没有邮政编码和/或它们可能没有城市,但都有省/地区和国家/地区。同样需要注意的是,他们都没有街道地址。

一些人类可读的地址可能有破折号 (-)、空格 ( )、撇号 (') 和逗号 (,)

一个回扣 ZERO_RESULTS 的地址的例子是:

Soul-t'ukpyolsi, Korea, South

在该特定示例中,国家/地区的名称中有逗号和空格,地区也有撇号和破折号。

这是我使用的 Javascript 代码:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&key=MYKEY&sensor=false"></script>
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(<?php echo $lat; ?>,<?php echo $long; ?>);
var mapOptions = {
zoom: 5,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

var marker = new google.maps.Marker({
position: myLatlng,
map: map
});
}

google.maps.event.addDomListener(window, 'load', initialize);

</script>

我正在使用 PHP 根据存储在我的数据库中的地址元素生成完整的地址路径。这是我用来生成路径然后发出地理定位器请求的代码:

请记住,城市和邮政编码/邮政编码是可选元素

// Replace any spaces in vars
if (isset($gmaps_city)){
$gmaps_city = str_replace(" ","+",$gmaps_city);
}
if (isset($gmaps_province)){
$gmaps_province = str_replace(" ","+",$gmaps_province);
}
if (isset($gmaps_country)){
$gmaps_country = str_replace(" ","+",$gmaps_country);
}
if (isset($gmaps_pcode)){
$gmaps_pcode = str_replace(" ","+",$gmaps_pcode);
}

// If Postal Code and City
if (isset($gmaps_city) AND isset($gmaps_pcode)){
$gmaps_path = $gmaps_city.",+".$gmaps_province.",+".$gmaps_country.",+".$gmaps_pcode."&sensor=false";

// If City but no Postal Code
} else if (isset($gmaps_city) AND !isset($gmaps_pcode)){
$gmaps_path = $gmaps_city.",+".$gmaps_province.",+".$gmaps_country."&sensor=false";

// If Postal Code but no City
} else if (!isset($gmaps_city) AND isset($gmaps_pcode)){
$gmaps_path = $gmaps_province.",+".$gmaps_country.",+".$gmaps_pcode."&sensor=false";

// Only Province and Country
} else {
$gmaps_path = $gmaps_province.",+".$gmaps_country."&sensor=false";
}

// Determine Lat and Long of Address
$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$gmaps_path);

$output= json_decode($geocode);

$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng;

$status = $output->status;

非常感谢任何帮助。

最佳答案

该示例可能由于拼写错误而导致出现问题。下列:"Seoul-t'ukpyolsi, 韩国, 南"不返回 ZERO_RESULTS。

根据您的代码,破折号和撇号不应引起问题。请提供另一个例子。

关于javascript - Google Maps API v3 返回 ZERO_RESULTS 但 Maps.Google.com 显示正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20664723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com