使用 bing 地图 API,我可以进行服务器端调用并获取给定城市的纬度/经度吗?

Posted

技术标签:

【中文标题】使用 bing 地图 API,我可以进行服务器端调用并获取给定城市的纬度/经度吗?【英文标题】:using the bing map API, can I make a server-side call and get lat/long for a given city? 【发布时间】:2010-05-14 19:50:53 【问题描述】:

我可以使用 javascript 在客户端执行此操作,但在这种情况下我需要更健壮的东西并希望使用服务器端。

【问题讨论】:

【参考方案1】:

发布此内容,以便大家更轻松地找到答案:

使用必应地图 SOAP 服务 API (http://msdn.microsoft.com/en-us/library/cc980922.aspx)。它是一个公共 Web 服务,它实现了大部分 Bing Maps API 并提供静态地图(抱歉,没有来自用户的交互性)。从提供的 Microsoft SDK 中(稍作修改:将服务引用添加到您的项目后,运行此代码:

private GeocodeResponse GeocodeAddress(字符串地址) GeocodeRequest geocodeRequest = new GeocodeRequest();

        // Set the credentials using a valid Bing Maps key
        geocodeRequest.Credentials = new GeocodeService.Credentials();
        geocodeRequest.Credentials.ApplicationId = BingMapsAPIKey;

        // Set the full address query
        geocodeRequest.Query = address;

        // Set the options to only return high confidence results 
        ConfidenceFilter[] filters = new ConfidenceFilter[1];
        filters[0] = new ConfidenceFilter();
        filters[0].MinimumConfidence = GeocodeService.Confidence.High;

        // Add the filters to the options
        GeocodeOptions geocodeOptions = new GeocodeOptions();
        geocodeOptions.Filters = filters;
        geocodeRequest.Options = geocodeOptions;

        // Make the geocode request
        GeocodeServiceClient geocodeService = new GeocodeServiceClient("BasicHttpBinding_IGeocodeService");
        GeocodeResponse geocodeResponse = geocodeService.Geocode(geocodeRequest);

        return geocodeResponse;

您可以使用以下代码 sn-p 检查您的返回值:

result.Locations[0].Latitude.ToString();
result.Locations[0].Longitude.ToString();

【讨论】:

以上是关于使用 bing 地图 API,我可以进行服务器端调用并获取给定城市的纬度/经度吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Bing 地图 REST API 获取国家/地区代码

如何在bing map api中动态添加用户的位置

在 bing 地图中查找相邻图块

Ruby 地理编码库与最新的 Google 地图、Yahoo 地图、Bing API 兼容

Win8.1应用开发之Bing Maps

是否可以使用地图 API 调用(例如,必应地图、谷歌地图)从街道地址获取商店网站地址? [关闭]