Xamarin调用百度SDK实现百度定位。

原文: Xamarin调用百度SDK实现百度定位。

Xamarin集成各方面第三方jar过程当中都会有意想不到的各类问题,这里特意说明如何集成百度地图 ,但愿能够帮到更多的初学者html

废话很少说,进入主题:java

 

第一步(下载相关SDK):android

  首先下载百度地图所需的SDK包,我这里是使用的v4.2,下载后会有一个文件夹,两个jar文件。首先咱们须要的就是想办法将两个jar包转换为dll
api

    

 

第二步(转换jar包为dll):app

    一、新建 Java Bindings Library 项目post

      

    2.将 android-support-v4.jar   , BaiduLBS_Android.jar 放到Jars文件夹下url

      

 

     3.修改.jar其属性spa

         android-support-v4.jar转换属性设为:EmbeddedReferenceJar调试

                  BaiduLBS_Android.jar转换属性设为:EmbeddedJar xml

      

 

    

    5.生成项目,生成成功

      

 

到该项目的bin\Debug目录下拿到dll,获得了生成的dll,接下来就是咱们说了算了,直接在项目中引用生成的dll,最好单独引用dll,不要引用项目,会有问题。

 

第三步:进行引用,实现定位

  一、新建App项目

    

  

  新建好项目后第一件事儿就是引用刚刚生成的dll。

    

 

  二、向AndroidManifest.xml 配置相关权限、f服务声明,ak秘钥信息
    打开AndroidManifest.xml文件:
    
 
   I.在<manifest></manifest>根节点中加入如下权限:
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
      </uses-permission>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
        </uses-permission>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
        </uses-permission>
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
        </uses-permission>
        <uses-permission android:name="android.permission.READ_PHONE_STATE" >
        </uses-permission>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
        </uses-permission>
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
        </uses-permission>
        <uses-permission android:name="android.permission.READ_LOGS" >
        </uses-permission>
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 
    
      <service
                android:name="com.baidu.location.f"
                android:enabled="true"
                android:process=":remote" >
                <intent-filter>
                    <action android:name="com.baidu.location.service_v2.2" >
                    </action>
                </intent-filter>
              </service>   
 
    III.加入ak秘钥信息,同样的在在<application></application>节点中声明:
         <!-- meta-data须要写在application中 -->
      <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="请输入申请的key" />

 

  3:在项目中新建libs文件夹,将下载的SDK包中的armeabi文件夹拷贝到该目录下
    

  4:将armeabi目录下的so文件的生成操做为AndroidNativeLibrary。

    

 

  5:最后一步,就是转换相关Demo里面的代码了,这个应该不须要多说了吧!定位的话转换如下两个.java文件便可。

      

      6.运行,记住,要真机调试,AVD是定位不了的。运行结果以下:

                

 

    这样,就实现了Xamarin Android集成百度定位的相关操做了。本身开始也折腾了半天,烦躁死,总算功夫不负有心人,终于搞出来了,以防有其余朋友也须要实现该功能(我开始是使用的Android自带的定位服务,但总归是定位慢,还只有在比较开阔的地方才能正常点拿到位置信息),少走冤枉路,减小没必要要的麻烦,特写出实现方法,若有什么问题,还请你们多多指教,多谢!!!

 

  转载请注明出处#:http://www.cnblogs.com/lts-lts/p/4907967.html

相关文章
相关标签/搜索