unity调用Android百度地图

Posted 千喜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,就是用在这里,要拷贝进去,不然显示不了地图的。

 

以上是关于unity调用Android百度地图的主要内容,如果未能解决你的问题,请参考以下文章

Android调用照相机和百度地图开发,百度地图显示界面覆盖了相机界面,求大神解答?

安卓开发——在应用中简单调用Android百度地图API SDK

想问下百度地图 android API 的精度能到多少

Android中调用百度地图

android 怎么批量调用百度地图的地理编码功能

如何调用百度地图API