Unity接入高德地图

本文介绍了如何在Unity3D项目中接入高德地图API,以实现Android设备的定位功能。首先在Android工程中配置并实现定位功能,然后打包成JAR供Unity调用。详细步骤包括创建Android工程,导入Unity的JAR库,继承UnityPlayerActivity,实现高德地图定位,并将Android工程文件拷贝到Unity的Plugins->Android目录下。最后在Unity中编写脚本调用Android的方法获取并显示定位信息。
摘要由CSDN通过智能技术生成

Unity调用高德地图API,获取定位信息(Android)

先在Android端实现定位功能,再打包成JAR文件提供接口方法给Unity调用。

Unity3D (5.3.4)
Eclipse: Neon(4.6.0)

Unity提供了跟Android交互的接口,可以参考雨松大大的博客。


1.首先新建一个Android工程,在最小SDK版本里选4.0以上,不然在Unity打包的时候会报错。

这里写图片描述

2.创建出来的工程目录如下:

这里写图片描述

3.可以删掉MainActivity里面不必要的代码,引用的布局也要删掉:

package com.example.locationtest;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {
   

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

}

4.因为要调用Unity提供的接口,需要把Unity提供的JAR库classes.jar文件导入到我们的安卓工程里。我的Unity版本是5.3.4,文件在这里:

这里写图片描述

5.把库文件拖到Android工程的libs文件夹下面,右键选Build Path ->Add to Build Path导入包。

这里写图片描述

6.Activity中的方法想要被Unity调用,这个Activity就需要继承UnityPlayerActivity,这是Unity提供的包里面的接口类。代码里写了一个GetInfo()的方法给Unity在代码中调用,获取定位的信息LocationInfo。

package com.example.locationtest;

import android.os.Bundle;
import com.unity3d.player.UnityPlayerActivity;

public class MainActivity extends UnityPlayerActivity {
   

    private String LocationInfo;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public String GetInfo(){
        return LocationInfo;
    }
}

7.接下来就是实现高德地图中的定位功能了,这方面的内容可以参考官网的文档,还是很容易实现的,这里就不详述了。我的代码如下:

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.locationtest"
    
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值