【问题标题】:get latitude and longitude of a place against its zipcode根据邮政编码获取一个地方的纬度和经度
【发布时间】:2010-04-28 10:24:02
【问题描述】:

我已使用以下代码通过以下代码获取地图上特定地点的位置

NSString * urlString = [[NSString alloc] initWithFormat:@"http://maps.google.com/maps/geo?key=%@&output=xml&q=%@",GoogleMapsAPIKey,[placeName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

结果:

<?xml version="1.0" encoding="UTF-8" ?>
<kml xmlns="http://earth.google.com/kml/2.0"><Response>
  <name>postdam</name>
  <Status>
    <code>200</code>
    <request>geocode</request>
  </Status>
  <Placemark id="p1">
    <address>Potsdam, Germany</address>
    <AddressDetails Accuracy="4" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>DE</CountryNameCode><CountryName>Deutschland</CountryName><AdministrativeArea><AdministrativeAreaName>Brandenburg</AdministrativeAreaName><SubAdministrativeArea><SubAdministrativeAreaName>Potsdam</SubAdministrativeAreaName><Locality><LocalityName>Potsdam</LocalityName></Locality></SubAdministrativeArea></AdministrativeArea></Country></AddressDetails>
    <ExtendedData>
      <LatLonBox north="52.4513968" south="52.3424614" east="13.1866602" west="12.9305414" />
    </ExtendedData>
    <Point><coordinates>13.0586008,52.3969627,0</coordinates></Point>
  </Placemark>
</Response></kml>

但现在我想获取有关邮政编码的信息。如何使用 maps.google.com 做到这一点?

【问题讨论】:

    标签: iphone latitude-longitude zipcode


    【解决方案1】:

    您不再需要使用 google maps API 密钥来访问此 API。

    下面是我昨天写的一个 PHP 函数,用 JSON 实现这个功能

    function getCoordinatesFromAddress($address, $lat, $long, $region="US") {
           $json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=$region");
           $json = json_decode($json);
    
           $lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
           $long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};
    }
    

    【讨论】:

      【解决方案2】:

      由于 Google 地图以美国为中心,只需直接输入邮政编码即可(至少目前如此)

      http://maps.google.com/maps/geo?output=xml&q=90210

      <AdministrativeArea>
          <AdministrativeAreaName>CA</AdministrativeAreaName>
          <SubAdministrativeArea>
              <SubAdministrativeAreaName>Los Angeles</SubAdministrativeAreaName>
              <Locality>
                  <LocalityName>Beverly Hills</LocalityName>
                  <PostalCode>
                      <PostalCodeNumber>90210</PostalCodeNumber>
                  </PostalCode>
              </Locality>
          </SubAdministrativeArea>
      </AdministrativeArea>
      

      【讨论】:

      猜你喜欢
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多