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接口转委托后,出现了重名委托。

    • 修改方法

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

  • 相关阅读:
    postgresql postgres.Jsonb
    gorm jsonb
    json
    postgresql重置序列和自增主键
    go build x509: certificate has expired or is not yet valid
    权限修饰符
    交换两个变量的值
    Java编译报错:编码GBK的不可映射字符
    原码反码补码的理解
    Scanner类中hasNext()方法的解析
  • 原文地址:https://www.cnblogs.com/fabao/p/12244774.html
Copyright © 2011-2022 走看看