XamarinAndroid调用百度地图SDK中的问题

Posted 法宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XamarinAndroid调用百度地图SDK中的问题相关的知识,希望对你有一定的参考价值。

总体上------https://blog.csdn.net/qq_31403321/article/details/79489078------这篇文章很好。

然后下面是一些小的细节问题的解决方法。

申请AK

这里遇到的问题是有两个项目不会填写。

 

 

错误1

生成绑定类库的过程中,发现错误------“VersionInfo”:成员名不能与他们的封闭类型相同。

  • 首先如何找到这个错误。

 

  • 错误原因

原java代码,类名是VersionInfo,字段名是VERSION_INFO,有大小写和下划线的区分。

现自动生成的C#代码,只认大驼峰命名规范,两个都给改成VersionInfo了,这样就重名了。

  • 修改的方法

这里修改的方式是在metadata.xml中添加代码。

添加的代码和含义如下。

 

错误2

生成绑定类库的过程中,发现错误------BaiduMap.MapStatusChangeStartEventArgs已经包含“po”的定义。

  • 找到错误

C#这边发现,BaiduMap这个类中,有两个内部类重名都叫MapStatusChangeStart,然后两个类里都有变量p0。

java这边发现,MapStatusChangeStart方法,原来包含在onMapStatusChangeListener接口中。

有两个方法都叫MapStatusChangeStart,但是参数不一样。

  • 错误原因

在自动生成的过程中,C#这边会把原来java中的onXXXListener中的方法,自动转为一个XXXEventHandler和一个XXXEventArgs。

一个Listener里面可以放多个方法,方法重载当然也可以。

但是委托的名字是不能重复的。

一句话,Listener接口转委托后,出现了重名委托。

  • 修改方法

要做的是,这两个同名的方法,其中一个要改名,这样就不会生成同名委托了。用到的语法还是上面那个。

 

以上是关于XamarinAndroid调用百度地图SDK中的问题的主要内容,如果未能解决你的问题,请参考以下文章

Android中调用百度地图

什么是百度地图android sdk

获取 百度地图sdk需要的 两个SHA1值

ReactNative 调用手机地图(高德百度)导航 Android

(7)第三方app调用百度地图

iOS百度地图