unity調用Android百度地圖


由於個人是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,就是用在這里,要拷貝進去,不然顯示不了地圖的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM