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中的问题的主要内容,如果未能解决你的问题,请参考以下文章