Unity3d 如何对目的地进行地理编码?

Unity3d 如何对目的地进行地理编码?,unity3d,mapbox,Unity3d,Mapbox,我正在尝试使用Unity在Mapbox上创建导航应用程序。我可以获取用户的位置,但无法获取用户的目标点。我想把它作为文本。如果我能找到目的地,我就能很容易地画出路线 我试过重新加载地图,但没有用。此外,我尝试了转发地理编码用户输入文件,但未能成功 namespace Mapbox.Examples { using Mapbox.Unity; using UnityEngine; using UnityEngine.UI;

我正在尝试使用Unity在Mapbox上创建导航应用程序。我可以获取用户的位置,但无法获取用户的目标点。我想把它作为文本。如果我能找到目的地,我就能很容易地画出路线

我试过重新加载地图,但没有用。此外,我尝试了转发地理编码用户输入文件,但未能成功

    namespace Mapbox.Examples
    {
        using Mapbox.Unity;
        using UnityEngine;
        using UnityEngine.UI;
        using System;
        using Mapbox.Geocoding;
        using Mapbox.Utils;

        [RequireComponent(typeof(InputField))]
        public class ForwardGeocodeUserInput : MonoBehaviour
        {
            InputField _inputField;

            ForwardGeocodeResource _resource;

            Vector2d _coordinate;
            public Vector2d Coordinate
            {
                get
                {
                    return _coordinate;
                }
            }

            bool _hasResponse;
            public bool HasResponse
            {
                get
                {
                    return _hasResponse;
                }
            }

            public ForwardGeocodeResponse Response { get; private set; }

            //public event Action<> OnGeocoderResponse = delegate { };
            public event Action<ForwardGeocodeResponse> OnGeocoderResponse = delegate { };

            void Awake()
            {
                _inputField = GetComponent<InputField>();
                _inputField.onEndEdit.AddListener(HandleUserInput);
                _resource = new ForwardGeocodeResource("");
            }

            void HandleUserInput(string searchString)
            {
                _hasResponse = false;
                if (!string.IsNullOrEmpty(searchString))
                {
                    _resource.Query = searchString;
                    MapboxAccess.Instance.Geocoder.Geocode(_resource, HandleGeocoderResponse);
                }
            }

            void HandleGeocoderResponse(ForwardGeocodeResponse res)
            {
                _hasResponse = true;
                if (null == res)
                {
                    _inputField.text = "no geocode response";
                }
                else if (null != res.Features && res.Features.Count > 0)
                {
                    var center = res.Features[0].Center;
                    //_inputField.text = string.Format("{0},{1}", center.x, center.y);
                    _coordinate = res.Features[0].Center;
                }
                Response = res;
                OnGeocoderResponse(res);
            }
        }
}
名称空间映射框。示例
{
使用Mapbox.Unity;
使用UnityEngine;
使用UnityEngine.UI;
使用制度;
使用地图盒。地理编码;
使用Mapbox.Utils;
[RequiredComponent(typeof(InputField))]
公共类ForwardGeocodeUserInput:MonoBehavior
{
InputField\u InputField;
ForwardGeocodeResource\u资源;
矢量2D_坐标;
公共矢量二维坐标
{
得到
{
返回坐标;
}
}
布尔哈斯反应;
公众的反应
{
得到
{
返回\u hassresponse;
}
}
公共ForwardGeocodeResponse响应{get;private set;}
//公共事件操作OnGeocoderResponse=委托{};
公共事件操作OnGeocoderResponse=委托{};
无效唤醒()
{
_inputField=GetComponent();
_inputField.onendIt.AddListener(HandleUserInput);
_资源=新的ForwardGeocodeResource(“”);
}
void HandleUserInput(字符串搜索字符串)
{
_hassresponse=false;
如果(!string.IsNullOrEmpty(searchString))
{
_resource.Query=searchString;
MapboxAccess.Instance.Geocoder.Geocode(_resource,HandleGeocoderResponse);
}
}
无效HandleGeoCodeResponse(ForwardGeocodeResponse)
{
_hassresponse=true;
if(null==res)
{
_inputField.text=“无地理代码响应”;
}
else if(null!=res.Features&&res.Features.Count>0)
{
var center=res.Features[0]。中心;
//_inputField.text=string.Format(“{0},{1}”,center.x,center.y);
_坐标=分辨率特征[0]。中心;
}
响应=res;
OnGeocoderResponse(res);
}
}
}
你能帮我吗?

可能是