>  기사  >  위챗 애플릿  >  C# WeChat 개발: 위도와 경도를 기반으로 주소 가져오기

C# WeChat 개발: 위도와 경도를 기반으로 주소 가져오기

高洛峰
高洛峰원래의
2017-03-04 15:00:331903검색

개발 과정에서 우리는 사용자의 지리적 위치에 따라 다양한 지역에 제품을 표시해야 하는 필요성에 직면했습니다.

여기서 WeChat을 사용합니다. 사용자의 지리적 위치를 파악하는 기능(5초마다 보고되거나 답장을 입력할 때)을 WeChat에서 푸시한 경도와 위도를 기반으로 실제 주소로 변환합니다. 여기서 사용하는 것은 Baidu Map API 입니다(사용을 원하시면 Baidu ak를 먼저 신청하세요).

PS: WeChat의 이 기능은 매우 불안정하고 신뢰할 수 없으며 종종 푸시되지 않습니다. . . (수동 위치 지정은 나중에 추가되었으며 Baidu Map 웹 위치 지정 구성 요소는 광고가 아닌 꽤 좋습니다! 0.0)

#region 根据经纬度 获取地址信息 BaiduApi

        /// <summary>
        /// 根据经纬度  获取 地址信息
        /// </summary>
        /// <param name="lat">经度</param>
        /// <param name="lng">纬度</param>
        /// <returns></returns>
        public static BaiDuGeoCoding GeoCoder(string lat, string lng)
        {
            string url = string.Format(WeiXinConst.Baidu_GeoCoding_ApiUrl, lat, lng);

            var model = HttpClientHelper.GetResponse<BaiDuGeoCoding>(url);

            return model;
        }

        #endregion

BaiduGeoCoding은 Api의 해당 결과에 대해 캡슐화된 개체입니다:

public class BaiDuGeoCoding
    {
        public int Status { get; set; }
        public Result Result { get; set; }
    }

    public class Result
    {
        public Location Location { get; set; }

        public string Formatted_Address { get; set; }

        public string Business { get; set; }

        public AddressComponent AddressComponent { get; set; }

        public string CityCode { get; set; }
    }

    public class AddressComponent
    {
        /// <summary>
        /// 省份
        /// </summary>
        public string Province { get; set; }
        /// <summary>
        /// 城市名
        /// </summary>
        public string City { get; set; }

        /// <summary>
        /// 区县名
        /// </summary>
        public string District { get; set; }

        /// <summary>
        /// 街道名
        /// </summary>
        public string Street { get; set; }

        public string Street_number { get; set; }

    }

    public class Location
    {
        public string Lng { get; set; }
        public string Lat { get; set; }
    }

전화:

            //需配置 WeiXineConst的BaiduAk
            string lat = "31.1430"; //经度
            string lng = "121.2943";// 纬度
            var model = WeiXinHelper.GeoCoder(lat, lng);

더 많은 C# WeChat 개발: 경도 및 위도 관련 기사를 기반으로 주소를 얻으려면 PHP 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.