由於個人是Android小白,在這個配置上面被折磨了很久,因此寫下這篇文章
工具:eclipse + unity5.6.1
首先去百度地圖開發者平台下載你需要的資源,我只需要顯示地圖和定位,這個時候你一定要注意了,一定要把你所需要的功能全部選擇了再下載,要不然BaiduLBS_Android.jar包里面只有你選擇的那個單個需求的類,下載下來之后將BaiduLBS_Android.jar類復制個副本,將后綴改成.rar格式,解壓出來(后面會用到里面的assets文件夾)
eclipse中配置:
首先將下載好的包導入eclipse
項目中的類:
考慮到后面要用unity來調用Android的方法,因此要建立一個UnityActivity繼承UnityPlayerActivity,unity調用這個UnityActivity中的StartMapActivity()方法啟動BaiduLocation activity
package com.map.unity; import com.unity3d.player.UnityPlayerActivity; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class UnityActivity extends UnityPlayerActivity{ Context mContext = null; // Button requestLocButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; } public void StartMapActivity(String name) { Intent intent = new Intent(mContext,BaiduLocation.class); //intent.putExtra("name", name); this.startActivity(intent); } }
BaiduLocation是參考百度地圖的示例根據我自己的需求做的,建議大家也自己去看一下百度官方給的案例
又有一個坑來了,參考百度地圖示例寫完BaiduLocation.java后我運行百度地圖不出來,查了下才知道要配置上面的第二個類DemoApplication.java並在AndroidManifest.xml文件配置(這個時候我沒有繼承UnityPlayerActivity而是繼承Activity,寫了個按鈕啟動百度地圖)
AndroidManifest.xml配置我就不多說了,基本上網上都有,文章下邊我會給出項目源碼,包括eclipse項目+unity項目,需要的話下載看看吧
至此Android端的坑踩完了
unity:
結構在這里
第一個坑是libs中的,可以仔細觀察下與eclipse中的不同,unity中是armeabi-v7a,eclipse是arm64-v8a
第二個坑是assets,上面我有說過要解壓BaiduLBS_Android.jar,就是用在這里,要拷貝進去,不然顯示不了地圖的。