Heim  >  Artikel  >  WeChat-Applet  >  C# WeChat-Entwicklung: Adresse basierend auf Breiten- und Längengrad abrufen

C# WeChat-Entwicklung: Adresse basierend auf Breiten- und Längengrad abrufen

高洛峰
高洛峰Original
2017-03-04 15:00:331922Durchsuche

Während des Entwicklungsprozesses stießen wir auf die Notwendigkeit, Produkte entsprechend dem geografischen Standort des Benutzers in verschiedenen Regionen anzuzeigen.

WeChat wird hier verwendet: Die Funktion zum Abrufen des geografischen Standorts des Benutzers (alle 5 Sekunden gemeldet oder bei der Eingabe einer Antwort) wandeln wir ihn basierend auf dem von WeChat übermittelten Längen- und Breitengrad in eine tatsächliche Adresse um Hier verwendet Es handelt sich um die Baidu Map API (wenn Sie sie verwenden möchten, beantragen Sie zuerst Baidu ak).

PS: Diese Funktion von WeChat ist sehr instabil, unzuverlässig und pusht oft nicht. . . (Manuelle Positionierung wurde später hinzugefügt, und die Baidu Map Web-Positionierungskomponente ist ziemlich gut, keine Werbung! 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 ist ein Objekt, das für die entsprechenden Ergebnisse der API gekapselt ist:

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; }
    }

Anruf:

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

Für weitere C#-WeChat-Entwicklung: Erhalten Sie eine Adresse basierend auf Artikeln zu Längen- und Breitengraden, achten Sie bitte auf die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn