博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xamarin.Android 集成百度地图SDK
阅读量:6519 次
发布时间:2019-06-24

本文共 3085 字,大约阅读时间需要 10 分钟。

前言:趁着周六闲得没事干,赶紧搞一搞Xamarin,最近也是怪无聊的,枯燥的生活不如打几行代码带劲;好了我们进入正题

我这篇文章时参考一位大佬的博客进行改变的,当然他写的需要一定的经验才可以看得懂,我为了小白还是改编了一下,这篇文章的

正文:

  1.创建SDK

  2.获取SHA1

  3.项目集成

  4.问题处理

首先呢,你要注册百度账号,我相信大家都应该有了,那么登录之后,点击控制台,其百度地图的官方地址:http://lbsyun.baidu.com/

如图所示;创建SDK是需要SHA1的,那我们如何获取呢,找到你安装Xamarin的位置,一般都是C盘Program Files\Java 要不然就是C:\Program Files (x86)\Java 

获取sha1的相关步骤:

1.进去Java文件夹里面之后再进入bin文件夹,再之后你看看有没有keytool.exe文件,如何有的话就没有任何问题了。

2.找到debug.keystore文件,一般是 C:\Users\ **********\AppData\Local\Xamarin\Mono for Android文件夹,还是一样如果你有这个文件,那也就没有任何问题。

3.打开Cmd,最好还是通过管理员进去工具。

  首先cd进去到你的keytool所在的文件夹bin中,输入命令 keytool.exe -list -v -keystore "%LocalAppData%\Xamarin\Mono for Android\debug.keystore"   输入密钥库口令: android 回车;

找到SHA1那一行复制,一定要复制成功啊,要不然还得操作一遍,关闭窗口,继续干。

 还记得刚才的页面吗,写上你的SHA1,然后点击提交,就ok了。

百度地图SDK

打开界面http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 去下载你的SDK(这个操作你需要去创建Xamarin binding 项目去生成你的dll)这个过程就是将Java的jar变成.net的dll

为简单考虑,这里就不写这个了,直接去下载生成好的dll去用吧,因为现在百度地图的sdk版本有点高,我这里实在是生成不通过,只能去用4.5版本的,如果大佬有通过5.5版本的请联系楼主!!必有重谢

附4.5版本的dll一份,将就着用吧。地址:链接:https://pan.baidu.com/s/1yb2a1dldI6DZpHTwQrARAQ 提取码:zjbz(这个链接永远有效)

把这个dll放到bin文件夹中,添加引用即可。

再之后你就需要去配置下AndroidManifest.xml文件了(这个文件放的还挺深的,在Properties文件夹中) 以下是文件初始定义:

 还记得我们刚才生成的AK吗?如果你忘记保存,请自行寻找http://lbsyun.baidu.com/apiconsole/key

1.在其中添加开发密钥

 2.添加所需权限

其完整定义如一下收缩代码:

 在Main.xaml中添加地图控件

  在MainActivity.cs中初始化sdk,那么需要注意的是在SDK各功能组件使用之前都需要调用SDKInitializer.initialize(getApplicationContext());因此我们建议该方法放在Application的初始化方法中。

创建地图Activity,管理地图生命周期;这是以下代码的定义:

using System;using Android.App;using Android.Content;using Android.Runtime;using Android.Views;using Android.Widget;using Android.OS;using Com.Baidu.Mapapi;using Com.Baidu.Mapapi.Map;namespace Android{    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme.NoActionBar", MainLauncher = true)]    public class MainActivity : Activity    {        MapView mMapView = null;        protected override void OnCreate(Bundle savedInstanceState)        {            base.OnCreate(savedInstanceState);            SDKInitializer.Initialize(ApplicationContext);            SetContentView(Resource.Layout.content_main);            mMapView = FindViewById
(Resource.Id.bmapView); var s = mMapView.Map; s.MapType = BaiduMap.MapTypeSatellite; } protected override void OnDestroy() { base.OnDestroy(); mMapView.OnDestroy(); } protected override void OnResume() { base.OnResume(); mMapView.OnResume(); } protected override void OnPause() { base.OnPause(); mMapView.OnPause(); } }}

  那么最后最后一个步骤就是把你的包名改变以下就欧克了

  

 这就是基本的百度地图sdk集成过程,如果你有v5版本的生成dll经验,请联系我!!这几天出支付宝和微信的sdk集成。如果觉得这篇文章还算有用的话,点推荐吧兄台!!

上图就是结果,ok~就这样!

 

转载于:https://www.cnblogs.com/ZaraNet/p/10089158.html

你可能感兴趣的文章
银行卡信息安全事件频发 互联网站成数据泄露"重灾区"
查看>>
云服务器 ECS 使用OpenAPI管理ECS:使用OpenAPI弹性创建ECS实例
查看>>
象云2.0产品发布暨国产操作系统首次入驻公有云
查看>>
一个完美DCIM应该具备的功能与价值
查看>>
《SEO的艺术(原书第2版)》——1.5 人们如何搜索
查看>>
经验贴 | 电梯监控的布线技巧
查看>>
唐山联通与丰南区政府签署“智慧城市”战略合作协议
查看>>
研究显示:广告拦截应用正在破坏互联网
查看>>
优云·小课堂 第八期:运维自动化的魅力
查看>>
写个软件来防止服务器网站CPU百分百
查看>>
智能城市里,“公共电话亭”的存在意味着什么?
查看>>
JVM分代垃圾回收策略的基础概念
查看>>
《交互式程序设计 第2版》一3.5 捕获简单用户交互行为
查看>>
安装操作系统需要注意的事项
查看>>
5G技术的5大猜想
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
别随便安装 Pokemon GO被曝藏恶意后门
查看>>
BBC即将推出Britflix流媒体服务:欲成为英国版Netflix
查看>>
让数据会思考会说话,为出海企业提供多样化数据智能解决方案
查看>>
我眼中的自动化测试框架设计要点
查看>>