【发布时间】:2014-03-10 11:34:14
【问题描述】:
我正在尝试从 API 中专门调用一个元素(国家/地区),我希望它以字符串形式返回,我将在下面详细说明
用户的输入:
美国纽约州纽约市
使用的 API:
http://maps.google.com/maps/api/js?sensor=true&libraries=places
期望的结果:
美国/美国/美国
JSON 不知道叫什么:
https://maps.googleapis.com/maps/api/geocode/json?address=New%20York,%20NY,%20United%20States&sensor=true
我对如何做有点迷茫,但这是我尝试过的:
<html>
<head></head>
<title>Project 9</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&libraries=places"></script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btn1 ").click(function() {
var address=encodeURI($('#userInput').val());
var url='https://maps.googleapis.com/maps/api/geocode/json?address='+address+'&sensor=true';
$.getJSON(url, function(data){
var shortname=data.results[0].address_components[3].short_name;
var longname=data.results[0].address_components[3].long_name;
alert(shortname+' '+longname);
});
});
});
</script>
<body>
<input type="text" value="sdfasd" name="userInput" id="userInput" />
<input type="button" id="btn1" value="Load Data" />
</body>
</html>
我更新了问题,感谢您的所有回答,但是我注意到在某些输入中,它不会返回国家/地区,而是返回地址组件索引 3 中的对象我们如何限制它仅返回国家?谢谢
这样可以吗?
var shortname=data.results[0].address_components[country].short_name;
var longname=data.results[0].address_components[country].long_name;
alert(shortname+' '+longname);
【问题讨论】:
-
将答案标记为正确也会对其他人有所帮助。 :)
标签: javascript jquery json google-maps