微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 从Google地图请求中解析城市/州

var geocoder = new google.maps.Geocoder();
            geocoder.geocode({'latLng': foundLoc},function(results,status) {
                if (status == google.maps.GeocoderStatus.OK) {
                    if (results[1]) {
                        var loc = getCityState(results);
                    }
                }
            }); 

function getCityState(results)
        {
            var citystateArray = results[1].formatted_address.split(",",2);
            var city = citystateArray[0];
            var state = citystateArray[1].substring(1,3);
            return (city + ',' + state)
        }

这就是我现在使用的,大约90%的时间都可以使用.其他时候,formatted_address包含一个城镇和一个城市以及州,其他时间只有城镇和城市,其他时间你可以梦想的一切.

我还没有找到一种始终如一的方式来获取Google Maps API结果中的城市/州.你们中的任何人都有吗?谢谢.

Google在其网页上使用的一个响应示例:

{
  "status": "OK","results": [ {
    "types": [ "street_address" ],"formatted_address": "1600 Amphitheatre Pkwy,Mountain View,CA 94043,USA","address_components": [ {
      "long_name": "1600","short_name": "1600","types": [ "street_number" ]
    },{
      "long_name": "Amphitheatre Pkwy","short_name": "Amphitheatre Pkwy","types": [ "route" ]
    },{
      "long_name": "Mountain View","short_name": "Mountain View","types": [ "locality","political" ]
    },{
      "long_name": "California","short_name": "CA","types": [ "administrative_area_level_1",{
      "long_name": "United States","short_name": "US","types": [ "country",{
      "long_name": "94043","short_name": "94043","types": [ "postal_code" ]
    } ],"geometry": {
      "location": {
        "lat": 37.4219720,"lng": -122.0841430
      },"location_type": "ROOFTOP","viewport": {
        "southwest": {
          "lat": 37.4188244,"lng": -122.0872906
        },"northeast": {
          "lat": 37.4251196,"lng": -122.0809954
        }
      }
    }
  } ]
}

有时这些领域没有价值观,有时他们也有.

解决方法

为什么要解析formatted_address?

有address_components,你可以浏览它们并寻找那些

"types": [ "administrative_area_level_1","political" ]// the state
"types" : [ "locality","political" ]//the city

这是一个例子:http://jsfiddle.net/doktormolle/QWPCL/

原文地址:https://www.jb51.cc/js/158841.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐