【问题标题】:Getting Location Name from Longitude and Latitude in BingMap从 BingMap 中的经度和纬度获取位置名称
【发布时间】:2012-02-02 09:36:10
【问题描述】:

我是一名 WP7 开发人员。我有一个位置的经度和纬度。无论如何要获取坐标定义的位置的信息,即经度和纬度。 谢谢!!

【问题讨论】:

    标签: windows-phone-7 bing-maps


    【解决方案1】:

    是的,您可以通过Bing Maps REST API 执行此操作,您需要执行reverse geocode。这是通过获取以下请求来完成的:

    http://dev.virtualearth.net/REST/v1/Locations/47.64054,-122.12934?o=xml&key=BingMapsKey
    

    这将返回 XML 格式的地址:

    <Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">
      <Copyright>
        Copyright © 2011 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.
      </Copyright>
      <BrandLogoUri>
        http://dev.virtualearth.net/Branding/logo_powered_by.png
      </BrandLogoUri>
      <StatusCode>200</StatusCode>
      <StatusDescription>OK</StatusDescription>
      <AuthenticationResultCode>ValidCredentials</AuthenticationResultCode>
      <TraceId>
        dd31ffaf098f4406b7ecdd0da36680ff
      </TraceId>
      <ResourceSets>
        <ResourceSet>
          <EstimatedTotal>1</EstimatedTotal>
          <Resources>
            <Location>
              <Name>1 Microsoft Way, Redmond, WA 98052</Name>
              <Point>
                <Latitude>47.640568390488625</Latitude>
                <Longitude>-122.1293731033802</Longitude>
              </Point>
              <BoundingBox>
                <SouthLatitude>47.636705672917948</SouthLatitude>
                <WestLongitude>-122.137016420622</WestLongitude>
                <NorthLatitude>47.6444311080593</NorthLatitude>
                <EastLongitude>-122.1217297861384</EastLongitude>
              </BoundingBox>
              <EntityType>Address</EntityType>
              <Address>
                <AddressLine>1 Microsoft Way</AddressLine>
                <AdminDistrict>WA</AdminDistrict>
                <AdminDistrict2>King Co.</AdminDistrict2>
                <CountryRegion>United States</CountryRegion>
                <FormattedAddress>1 Microsoft Way, Redmond, WA 98052</FormattedAddress>
                <Locality>Redmond</Locality>
                <PostalCode>98052</PostalCode>
              </Address>
              <Confidence>Medium</Confidence>
              <MatchCode>Good</MatchCode>
              <GeocodePoint>
                <Latitude>47.640568390488625</Latitude>
                <Longitude>-122.1293731033802</Longitude>
                <CalculationMethod>Interpolation</CalculationMethod>
                <UsageType>Display</UsageType>
                <UsageType>Route</UsageType>
              </GeocodePoint>
            </Location>
          </Resources>
        </ResourceSet>
      </ResourceSets>
    </Response>
    

    【讨论】:

    • 我需要 Json 中的信息,所以任何人都可以建议我一种将 xml 转换为 json 的方法......
    • 如果将请求URL中的o=xml更改为o=json,数据也可以是JSON格式的
    • 别忘了,您需要一个 Bing 地图 API 密钥 - 前往 bingmapsportal.com 获取一个
    【解决方案2】:

    您可以使用 Microsoft 提供的 Web 服务,该服务会根据您提供的纬度和经度返回城市、州和国家/地区。

    通过提供链接 http://msrmaps.com/TerraService2.asmx 在您的项目中创建一个 Web 服务引用

    我已将该服务命名为 myTerraService

    myTerraService.TerraServiceSoapClient client = new myTerraService.TerraServiceSoapClient();
            client.ConvertLonLatPtToNearestPlaceCompleted += new EventHandler<myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs>(client_ConvertLonLatPtToNearestPlaceCompleted);
            client.ConvertLonLatPtToNearestPlaceAsync(new myTerraService.LonLatPt { Lat = latitude, Lon = longitude });
        }
    
        void client_ConvertLonLatPtToNearestPlaceCompleted(object sender, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
        {
            string location = e.Result; // this string will have city, state, country
        }
    

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 2013-05-14
      • 2018-11-26
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多