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

相關文章
相關標籤/搜索