极客秀
搜索

利用百度地图API获取地图图片并简单制作测试Demo

百度算是云产品涉及领域即为广泛的公司了,我之前常常利用百度的智能云做MQTT平台,前阵子也使用过百度的车牌识别功能。而百度地图也是用途非常广泛的产品,本期我们将介绍如何使用百度地图API来获取地图信息。

搜索百度地图API,我们可以看到百度为开发者准备的平台。



在控制台中,创建一个新的应用。

这样子我们就创建好一个新的应用了,下面的IP地址可以填0.0.0.0

这里可以看到我们的AK即Access Key,这串字符很重要,是我们可以成功访问的关键。接着我们依照其API文档,来尝试获取图片。

从开发者频道中找到开发文档,查看其API使用。

找到静态图相关文档。

这里有相应的参数列表以及API使用实例

https://pic.qr2c.cn/staticimage/v2?ak='您的AK'&width=280&height=140&zoom=11&scale=2

利用示例代码,我们需要替换自己的AK密钥。

我们添加上地图中心的经纬度坐标,之后在浏览器的网页栏输入这个Http请求

输入我们的经纬度信息,就可以获得如下的图片啦,接下来我们尝试着制作一个手机APP,可以根据经纬度获取地图附近地图信息。


后续尝试利用STM32配合GPS模块做个定位器~~


using System.Net.Http;  
namespace BaiduMapTest{    public partial class MainPage : ContentPage    {        private const string API_KEY = "********";        private const string BASE_URL = "https://pic.qr2c.cn/staticimage/v2";  
        int count = 0;  
        public MainPage(){            InitializeComponent();  
            // 设置 Slider 值变化事件            ZoomSlider.ValueChanged += OnZoomSliderValueChanged;  
            // 设置更新地图按钮点击事件            UpdateMapBtn.Clicked += OnUpdateMapClicked;        }  
  
        private void OnZoomSliderValueChanged(object sender, ValueChangedEventArgs e){            int zoomLevel = (int)e.NewValue;            ZoomLabel.Text = $"当前缩放级别: {zoomLevel}";        }  
        private async void OnUpdateMapClicked(object sender, EventArgs e){            if (double.TryParse(LongitudeEntry.Text, out double longitude) &&                double.TryParse(LatitudeEntry.Text, out double latitude))            {                int zoom = (int)ZoomSlider.Value;                string url = $"{BASE_URL}?ak={API_KEY}&width=400&height=400&zoom={zoom}&center={longitude},{latitude}&copyright=1&scale=2";  
                try                {                    using (var httpClient = new HttpClient())                    {                        byte[] imageBytes = await httpClient.GetByteArrayAsync(url);                        MapImage.Source = ImageSource.FromStream(() => new MemoryStream(imageBytes));                    }                }                catch (Exception ex)                {                    await DisplayAlert("错误", $"获取地图图像时出错: {ex.Message}", "确定");                }            }            else            {                await DisplayAlert("输入错误", "请输入有效的经度和纬度", "确定");            }        }    }}  

.NET MAUI 代码片段

1.转载请保留原文链接谢谢!
2.本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
3.本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
4.本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
5.联系方式(#替换成@):pm#vimge.com

  相关内容