Unity接入高德开放API实现IP定位

目录
  • 一、接口介绍
  • 二、申请密钥Key
  • 三、在Unity中应用
    • 1.定位数据结构
    • 2.函数封装
    • 3.测试

一、接口介绍

Http接口,根据输入的IP地址,快速定位IP所在位置,仅支持IPV4,不支持国外IP解析。

二、申请密钥Key

1.登录高德开放平台,进入控制台

2.在应用管理中创建新的应用

3.为应用添加Key

三、在Unity中应用

1.定位数据结构

根据官方文档中给出的返回结果参数说明定义相应的数据结构

/// <summary>
/// IP定位响应数据结构
/// </summary>
[Serializable]
public class IPLocationResponse
{
    /// <summary>
    /// 返回结果状态值
    /// 0表示失败 1表示成功
    /// </summary>
    public string status;
    /// <summary>
    /// 返回状态说明
    /// status为0时,info返回错误原因 否则返回OK
    /// </summary>
    public string info;
    /// <summary>
    /// 状态码 10000表示正确,详情参阅官方文档info状态表
    /// </summary>
    public string infocode;
    /// <summary>
    /// 省份名称
    /// </summary>
    public string province;
    /// <summary>
    /// 城市名称
    /// </summary>
    public string city;
    /// <summary>
    /// 城市的adcode编码
    /// </summary>
    public string adcode;
    /// <summary>
    /// 所在城市矩形区域范围
    /// </summary>
    public string rectangle;
}

2.函数封装

using System;
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;

/// <summary>
/// IP定位
/// </summary>
public class IPLocation
{
    //在高德开放平台创建应用获取密钥
    private static readonly string key = "";

    /// <summary>
    /// 发起网络请求
    /// </summary>
    /// <param name="ip">要定位的IP地址</param>
    /// <param name="callback">回调函数</param>
    /// <returns></returns>
    public static IEnumerator SendWebRequest(string ip, Action<IPLocationResponse> callback)
    {
        string url = string.Format("https://restapi.amap.com/v3/ip?key={0}&ip={1}", key, ip);
        using(UnityWebRequest request = UnityWebRequest.Get(url))
        {
            yield return request.SendWebRequest();
            if (!request.isHttpError && !request.isNetworkError)
            {
                Debug.Log(request.downloadHandler.text);
                IPLocationResponse response = JsonUtility.FromJson<IPLocationResponse>(request.downloadHandler.text);
                callback?.Invoke(response);
            }
            else
            {
                Debug.Log("调用IP定位接口失败:" + request.error.ToString());
            }
        }
    }
}

3.测试

using UnityEngine;

public class IPLocationExample : MonoBehaviour
{
    private void Start()
    {
        StartCoroutine(IPLocation.SendWebRequest("114.222.121.24", s => { }));
    }
}

到此这篇关于Unity接入高德开放API实现IP定位的文章就介绍到这了,更多相关Unity IP定位内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Unity实现识别图像中主体及其位置

    目录 EasyDL图像分割介绍 创建应用 创建模型 EasyDL图像分割介绍 创建应用 1.进入百度AI开放平台打开控制台: 2.在左上角打开产品服务列表,找到EasyDL零门槛AI开放平台: 3.打开EasyDL图像: 4.在公有云部署-应用列表中创建一个应用: 5.创建完成后获取到AppID.API Key.Secret Key: 创建模型 1.进入EasyGL图像分割: 2.创建模型: 3.创建数据集: 4.数据导入: 上传图片,图片的数量尽量多些 导入完成后查看并标注: 框选目标所在范围

  • Unity接入百度AI实现货币识别

    接口介绍: 识别图像中的货币类型,以纸币为主,正反面均可准确识别,接口返回货币的名称.代码.面值.年份信息:可识别各类近代常见货币,如美元.欧元.英镑.法郎.澳大利亚元.俄罗斯卢布.日元.韩元.泰铢.印尼卢比等. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是货币识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 货币识别 /// </summary>

  • Unity 使用tiledmap解析地图的详细过程

    1.先使用tiledmap编辑地图,图层用来刷图块,对象用来定义单个格子的数据 2.为每个图块调属性 3.图块需要单独配置属性的就必须创建对象,并设置值 右键设置属性 4.导出json文件 5.代码如下,详细看相应注释 using SimpleJSON; using System.Collections; using System.Collections.Generic; using UnityEngine; public class tmx : MonoBehaviour { void Sta

  • 基于Unity实现2D边缘检测

    目录 一.ShaderLab 1.Alpha值边缘检测 2.卷积边缘检测 二.ShaderGraph 一.ShaderLab 1.Alpha值边缘检测 根据图片的Alpha值边缘判定,向内扩一段距离做边缘,颜色设置未描边颜色: 片元着色阶段,向上下左右四个方向做检测,有一个点的透明度为0,判定为边缘: Shader "2DOutline" { Properties { _MainTex("Texture", 2D) = "white" {} _L

  • Unity接入百度AI实现通用物体和场景识别

    接口介绍: 可识别超过10万类常见物体和场景,接口返回大类及细分类的名称,并支持获取识别结果对应的百科信息:还可使用EasyDL定制训练平台,定制识别分类标签.广泛适用于图像或视频内容分析.拍照识图等业务场景. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是通用物体和场景识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 通用物体和场景识别 /// </s

  • Unity接入高德开放API实现IP定位

    目录 一.接口介绍 二.申请密钥Key 三.在Unity中应用 1.定位数据结构 2.函数封装 3.测试 一.接口介绍 Http接口,根据输入的IP地址,快速定位IP所在位置,仅支持IPV4,不支持国外IP解析. 二.申请密钥Key 1.登录高德开放平台,进入控制台 2.在应用管理中创建新的应用 3.为应用添加Key 三.在Unity中应用 1.定位数据结构 根据官方文档中给出的返回结果参数说明定义相应的数据结构 /// <summary> /// IP定位响应数据结构 /// </su

  • React+高德地图实时获取经纬度,定位地址

    目录 1. 初始化地图 2. 地图扎点 3. 开启定位 4. 监听地图变化 5. 获取详细地址 6. 扎点动画

  • JavaScript接入百度地图API的方法步骤

    目录 一.百度地图API接入 二.在HTML中使用百度地图API 1.在html中引入百度地图js文件 2.在网页中定义一个DIV用于显示地图 3.在网页中显示地图 4.添加可选控件 5.定位功能 6.添加地图标记 7.给地图标记添加点击事件 8.添加信息窗口 9.路径规划 10.正逆地址解析 一.百度地图API接入 1.搜索百度地图开发平台 2.注册百度账号 3.登陆并申请成为开发者 4.在百度地图开发平台的首页选择控制台,在控制台中创建应用 创建好应用以后就能在控制台我的应用中看到这个应用,

  • 微信小程序基于高德地图API实现天气组件(动态效果)

    ​在社区翻腾了许久,没有找到合适的天气插件.迫不得已,只好借鉴互联网上的web项目,手动迁移到小程序中使用.现在分享到互联网社区中,帮助后续有需要的开发者. 1.组件介绍 1.1 组件效果预览图 ​小程序组件继承了外部样式colorui的色彩,但实际动画会根据父节点的color属性自动填充颜色,即使不引入colorui这个样式库,也可以在该组件引用外定义一个有color属性的块包裹该组件,同样可以达到如图的效果. 1.2 构造形式 1.3 支持的动画效果 简单介绍下,动画由3个部分组成 一个是主

  • Java环境下高德地图Api的使用方式

    Java高德地图Api的使用 使用高德经纬度获取地址信息 一些准备用到的常量 /** * 高德地图请求秘钥 */ private static final String KEY = "密钥,可以去高德地图免费申请"; /** * 返回值类型 */ private static final String OUTPUT = "JSON"; /** * 根据地名获取高德经纬度Api */ private static final String GET_LNG_LAT_UR

  • Unity接入百度AI实现果蔬识别

    接口介绍: 识别近千种水果和蔬菜的名称,适用于识别只含有一种果蔬的图片,可自定义返回识别结果数,适用于果蔬介绍相关的美食类APP中. 创建应用: 在产品服务中搜索图像识别,创建应用,获取AppID.APIKey.SecretKey信息: 查阅官方文档,以下是果蔬识别接口返回数据参数详情: 定义数据结构: using System; /// <summary> /// 果蔬识别 /// </summary> [Serializable] public class Ingredient

  • vue项目实现便捷接入百度地图API

    目录 1.账号注册 2.获取密钥 3.创建项目 4.项目导入 5.效果展示 1.账号注册 在百度地图开放平台注册账号并登录网站地址: https://lbsyun.baidu.com/index.php?title=jspopularGL 2.获取密钥 进入开发文档并进行密钥申请 3.创建项目 4.项目导入 此时我们已经获取了密钥,接着就可以在项目中导入了 首先安装百度地图 npm install vue-baidu-map --save 接着注册(这里我采用局部注册) //局部注册 百度地图

  • JAVA使用Ip2region获取IP定位信息的操作方法

    目录 先安装依赖 下载离线IP定位库 下面我们定义类封装ip2region 测试输出 实际使用 ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询 ip2region - 是国内开发者开发的离线IP地址定位库,针对国内IP效果较好,国外的部分IP只能显示国家. 项目gitee地址: https://gitee.com/lionsoul/ip2region.git 先安装依赖 <dependency> <groupId>org.lionsoul</

  • Vue接入高德地图的完整实例

    目录 前言 参考资料 Vue接入高德地图 引用 使用 实现点击按钮缩放功能 地图放大 地图缩小 测量距离 测量面积 行政区划查询渲染 关键字搜索 鼠标绘制区域 总结 前言 Vue 使用高德地图,实现缩放,鼠标绘制,测距.测面积.行政区域范围绘制.关键词查询等操作. 参考资料 高德地图API官网:https://lbs.amap.com/ 高德地图2.0参考手册:https://lbs.amap.com/api/jsapi-v2/documentation#pixel 高德地图2.0示例代码:ht

随机推荐