개발 과정에서 우리는 사용자의 지리적 위치에 따라 다양한 지역에 제품을 표시해야 하는 필요성에 직면했습니다.
여기서 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 중국어 웹사이트에 주목하세요!