【发布时间】:2015-08-12 00:35:45
【问题描述】:
我正在尝试从Geolocation API 中获取city。我刚刚开始学习一些 JS 和 jQuery,所以这可能是一个基本错误。
$(document).ready(function(){
function displayLocation(latitude,longitude){
var request = new XMLHttpRequest();
var method = 'GET';
var url =
'http://maps.googleapis.com/maps/api/geocode/json?latlng='
+ latitude + ',' + longitude + '&sensor=true';
var async = true;
request.open(method, url, async);
request.onreadystatechange = function(){
if(request.readyState == 4 && request.status == 200){
var data = JSON.parse(request.responseText);
var address = data.results[0];
alert(address.city.short_name);
}
};
request.send();
};
var successCallback = function(position){
var x = position.coords.latitude;
var y = position.coords.longitude;
displayLocation(x,y);
};
navigator.geolocation.getCurrentPosition(successCallback);
});
【问题讨论】:
-
你的代码实际产生了什么?
-
Web 开发工具控制台出现错误:TypeError: address.city is undefined 当我将警报更改为:alert(address.formatted_address);它返回整个格式化的地址,但我只需要城市名称
-
重点突出
标签: javascript jquery api geolocation