gpt4 book ai didi

google-maps-api-3 - 谷歌地图服务 v3 : 'ERROR' returned on Geocoding

转载 作者:行者123 更新时间:2023-12-04 05:04:58 25 4
gpt4 key购买 nike

我有一个 Google Maps 小部件在 Java 中的 JSF2 项目提供的 .xhtml 页面上工作。 map 显示,我有一个添加标记的功能,效果很好。但是,任何使用 Geocoder 的尝试似乎都会导致返回“错误”状态。 Google Maps API 在它的五个可能的“status”变量返回值候选者中没有提到这样的错误状态。

Followng 是一个部署的 .js 文件,有问题的有问题的函数是 codeAddress()。与 codeAddress() 类似的代码可以在我可以找到的其他地方在线使用,因此它必须与调用它的情况有关。鉴于 map 显示得很好,而且我可以放置标记,我的期望是我的 session 很好。这让我感到困惑:(有谁知道“错误”可能来自什么??

var map;
var marker;
var geocoder;

function placeMarker(location) {
if (!marker) {
marker = new google.maps.Marker({
position: location,
map: map
});
} else {
marker.setPosition(location);
}
map.setCenter(location);
var field = document.getElementById("portCreate:coordinate");
field.value = "POINT (" + location.lat() + " " + location.lng() + ")";
}

function initialize() {
var mapOptions = {
center : new google.maps.LatLng(55.761123, 13.084717),
zoom : 5,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(
document.getElementById("map"), mapOptions);

google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});

setMarker(document.getElementById("portCreate:coordinate"));

geocoder = new google.maps.Geocoder();
}

function setMarker(field) {
if (field.value) {
var regex = /POINT.+?([-0-9\.]+).+?([-0-9\.]+)/;
var matches = regex.exec(field.value);
placeMarker(new google.maps.LatLng(Number(matches[1]), Number(matches[2])));
}
}

function codeAddress(address) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
} else {
alert("Geocode was not successful for the following reason: " + status + "\nFor address " + address);
}
});
}

function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://maps.googleapis.com/maps/api/js?key=<API key here>&sensor=false&callback=initialize";
document.body.appendChild(script);
}

window.onload = loadScript;

最佳答案

今天遇到同样的问题后,我记得我没有链接到 API,而是将代码下载为 .js。将其更改为链接后,它再次起作用。我认为谷歌会定期更新脚本,如果它有任何版本冲突,它们会返回错误状态。

关于google-maps-api-3 - 谷歌地图服务 v3 : 'ERROR' returned on Geocoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15641286/

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