You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF C#应用中使用Geocoding.Microsoft获取Win7位置遇构造器问题

解决MicrosoftGeocoder无法直接实例化的问题

你遇到的问题是因为MicrosoftGeocoder的实例化逻辑和你参考的GoogleGeocoder不一样——它并没有公开可直接调用的构造函数,而是通过静态方法来创建实例的。

正确的实例化方法

最新版本的Geocoding.Microsoft库使用MicrosoftGeocoder.Create静态方法来生成实例,只需要传入你的Bing Maps API密钥即可:

public MainWindow() {
    InitializeComponent();
    MainMap.Mode = new AerialMode(true);
    MainMap.Focus();
    MainMap.Culture = "ar-sa";
    MainMap.MouseDoubleClick += new MouseButtonEventHandler(MapWithPushpins_MouseDoubleClick);
    
    // 替换你原来的实例化代码为这一行
    IGeocoder geocoder = MicrosoftGeocoder.Create("YOUR_BING_MAPS_API_KEY");
}

自定义配置(可选)

如果需要设置更多细节(比如指定Bing Maps API版本、统一配置文化信息等),可以使用带配置选项的重载方法:

public MainWindow() {
    InitializeComponent();
    MainMap.Mode = new AerialMode(true);
    MainMap.Focus();
    MainMap.Culture = "ar-sa";
    MainMap.MouseDoubleClick += new MouseButtonEventHandler(MapWithPushpins_MouseDoubleClick);
    
    var geocodingOptions = new MicrosoftGeocodingOptions
    {
        ApiVersion = ApiVersion.V8, // 指定使用Bing Maps API V8版本
        Culture = "ar-sa" // 统一设置地理编码请求的文化信息
    };
    
    IGeocoder geocoder = MicrosoftGeocoder.Create("YOUR_BING_MAPS_API_KEY", geocodingOptions);
}

额外提醒

请确保你的Bing Maps API密钥是有效的,并且已经在Azure门户中启用了**地理编码(Geocoding)**相关的权限,否则调用API时可能会返回权限错误。

内容的提问来源于stack exchange,提问作者Sam Ibraheem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:43:30