Google 地图 API - 不接受来自地理编码的值
Google maps API - not accepting values from geocode
我正在尝试在我的 javascript 中实现 Google API 地图。基于一个地址,我想得到相应的 latitude/longitude 并显示这个位置的地图。当我对位置进行硬编码时,它可以工作。当我使用地理编码器的值时,地图是空的。这是代码:
<script>
function initMap() {
var loc = [];
var geocoder = new google.maps.Geocoder();
var address = "New York";
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc[0] = results[0].geometry.location.lat();
loc[1] = results[0].geometry.location.lng();
alert(loc);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
// Create a map object and specify the DOM element for display.
var map = new google.maps.Map(document.getElementById('map'), {
center: { lat: loc[0], lng: loc[1] },
scrollwheel: false,
zoom: 8
});
}
</script>
alert(loc) 函数显示了正确的纬度和经度值,但地图似乎仍然是空的。知道为什么吗?
geocoder.geocode()
异步工作。这意味着您应该将地图初始化放在回调函数中。目前您在触发地理编码器回调之前初始化地图。
function initMap() {
var map;
var loc = [];
var geocoder = new google.maps.Geocoder();
var address = "New York";
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc[0] = results[0].geometry.location.lat();
loc[1] = results[0].geometry.location.lng();
//alert(loc);
// Create a map object and specify the DOM element for display.
map = new google.maps.Map(document.getElementById('map'),
{
center: { lat: loc[0], lng: loc[1] },
scrollwheel: false,
zoom: 8
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
希望对您有所帮助!
地理编码 API 最近更改了一些内容。他们不接受地址
中的 #
我正在尝试在我的 javascript 中实现 Google API 地图。基于一个地址,我想得到相应的 latitude/longitude 并显示这个位置的地图。当我对位置进行硬编码时,它可以工作。当我使用地理编码器的值时,地图是空的。这是代码:
<script>
function initMap() {
var loc = [];
var geocoder = new google.maps.Geocoder();
var address = "New York";
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc[0] = results[0].geometry.location.lat();
loc[1] = results[0].geometry.location.lng();
alert(loc);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
// Create a map object and specify the DOM element for display.
var map = new google.maps.Map(document.getElementById('map'), {
center: { lat: loc[0], lng: loc[1] },
scrollwheel: false,
zoom: 8
});
}
</script>
alert(loc) 函数显示了正确的纬度和经度值,但地图似乎仍然是空的。知道为什么吗?
geocoder.geocode()
异步工作。这意味着您应该将地图初始化放在回调函数中。目前您在触发地理编码器回调之前初始化地图。
function initMap() {
var map;
var loc = [];
var geocoder = new google.maps.Geocoder();
var address = "New York";
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc[0] = results[0].geometry.location.lat();
loc[1] = results[0].geometry.location.lng();
//alert(loc);
// Create a map object and specify the DOM element for display.
map = new google.maps.Map(document.getElementById('map'),
{
center: { lat: loc[0], lng: loc[1] },
scrollwheel: false,
zoom: 8
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
希望对您有所帮助!
地理编码 API 最近更改了一些内容。他们不接受地址
中的 #