将json响应变为变量

时间:2011-04-20 12:03:30

标签: javascript json variables request google-geocoder

我正在尝试使用谷歌地理编码器API来获取地图制作应用中使用的地址的经度和纬度。

如何从地理编码请求中获取数据(例如:

“http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true”是api网站上使用的示例)我的脚本中的变量,所以我可以从中提取数据?或者是否有可能以另一种方式提取数据?

谢谢! :)

1 个答案:

答案 0 :(得分:4)

好的,首先要做的是......你正在寻找使用JavaScript,而不是Java。

我将引导你走向一个不同的方向。你不需要JSON。

我假设你正在使用谷歌地图javascript api?如果不是你应该。

要使用Google地图API,您需要在网页的<script>部分添加此<head>标记:

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

<script>添加第二个<head>标记,如下所示:

<script type="text/javascript">     
   var geocoder;

   function Geocode(address){
      geocoder = new google.maps.Geocoder();

      geocoder.geocode({ 'address': address }, function (results, status) {
         if (status == google.maps.GeocoderStatus.OK) {
            console.log("Latitude: " + results[0].geometry.location.lat());
            console.log("Longitude: " + results[0].geometry.location.lng());
         }
         else {
            console.log("Geocoding failed: " + status);
         }
      });
   } 
</script>

上面的Geocode()函数接受一个地址作为参数。然后,它通过Google Maps API中的Geocoder对象发出Geocode请求,并将Geocoder对象的响应传递给回调函数(函数(结果,状态){...})。有关传递给回调函数的'results'参数包含look here

的完整参考

希望这有帮助。