zoukankan      html  css  js  c++  java
  • 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接口转委托后,出现了重名委托。

    • 修改方法

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

  • 相关阅读:
    C语言 · 选择排序
    C语言 · 生物芯片
    C语言 · 猜灯谜
    C语言 · x的x次幂结果为10
    C语言 · LOG大侠
    C语言 · 成绩查询系统
    C语言 · C++中map的用法详解
    C语言 · 方程的解
    斯坦福大学公开课:监督学习应用,梯度下降
    斯坦福大学公开课:机器学习的动机与应用
  • 原文地址:https://www.cnblogs.com/fabao/p/12244774.html
Copyright © 2011-2022 走看看