Heim > WeChat-Applet > WeChat-Entwicklung > Entwicklung der öffentlichen WeChat-Plattform: Beschreibung der kartenbezogenen Schnittstelle

Entwicklung der öffentlichen WeChat-Plattform: Beschreibung der kartenbezogenen Schnittstelle

高洛峰
Freigeben: 2017-02-27 13:31:49
Original
2204 Leute haben es durchsucht

Um die Entwicklung von LBS-Anwendungen zu erleichtern, kapselt das SDK häufig verwendete Berechnungsformeln und Kartenschnittstellen von Baidu und Google.

Häufig verwendete Berechnungen:

Wird zur Berechnung des geradlinigen Abstands zwischen zwei Koordinatenpunkten verwendet: Senparc.Weixin.MP.Helpers.Distance(double n1, double e1, double n2, double e2 )

Ermitteln Sie den Dimensionsunterschied basierend auf der Entfernung: Senparc.Weixin.MP.Helpers.GetLatitudeDifference(double km)

Ermitteln Sie den Längengradunterschied basierend auf der Entfernung: Senparc.Weixin.MP.Helpers. GetLongitudeDifference(double km)

Baidu-API-Klasse: Senparc.Weixin.MP.Helpers.BaiduMapHelper

URL der statischen Baidu-Karte generieren: BaiduMapHelper.GetBaiduStaticMap(double lng, double lat, int scale, int zoom, IList

Die endgültig generierte Adresse lautet wie folgt:

http://maps.googleapis.com/maps/ api/staticmap?center=&zoom =13&size=640x640&maptype=roadmap&format=jpg&sensor=false&sprache=zh&&markers=color:red%7Clabel:O%7C31.285774,120.59761&markers=color:blue%7Clabel:T%7C31.289774,120.59791


Die generierte URL kann direkt in platziert oder direkt Article.PicUrl von ResponseMessageNews zugewiesen werden.

entspricht der GoogleMap-API und sorgt für ein konsistentes Bedienerlebnis im SDK.

GoogleMap-API-Klasse: Senparc.Weixin.MP.Helpers.GoogleMapHelper

URL der statischen Baidu-Karte generieren: GoogleMapHelper.GetGoogleStaticMap(int scale, IList markersList, string size = "640x640" )

Die generierte Adresse lautet wie folgt:

http://maps.googleapis.com/maps/api/staticmap?center=&zoom=&size=640x640&maptype=roadmap&format=jpg&sensor=false&sprache= zh&&markers= Kombinations-SDK, wir können die Kartenschnittstelle verwenden, um einige Funktionen auszuführen, wenn der Benutzer eine Standortnachricht sendet. Beispielsweise verarbeiten wir die Nachricht in der OnLocationRequest-Praxis von MessageHandler:


In Der eigentliche Entwicklungsprozess. Zusätzlich zur Ausgabe von Standortinformationen können wir auch die nächstgelegenen Punkte basierend auf dem aktuellen Standort des Benutzers abrufen, diese in Artikeln ausgeben und die Entfernung berechnen.

Weitere Informationen zur Entwicklung der öffentlichen WeChat-Plattform: Anweisungen zur kartenbezogenen Benutzeroberfläche und zugehörige Artikel finden Sie auf der chinesischen PHP-Website!

/// <summary>
   /// 处理位置请求
   /// </summary>
   /// <param name="requestMessage"></param>
   /// <returns></returns>
   public override IResponseMessageBase OnLocationRequest(RequestMessageLocation requestMessage)
   {
       var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageNews>(requestMessage);
 
       var markersList = new List<GoogleMapMarkers>();
       markersList.Add(new GoogleMapMarkers()
       {
           X = requestMessage.Location_X,
           Y = requestMessage.Location_Y,
           Color = "red",
           Label = "S",
           Size = GoogleMapMarkerSize.Default,
       });
       var mapSize = "480x600";
       var mapUrl = GoogleMapHelper.GetGoogleStaticMap(19 /*requestMessage.Scale*//*微信和GoogleMap的Scale不一致,这里建议使用固定值*/,
                                                       markersList, mapSize);
       responseMessage.Articles.Add(new Article()
       {
           Description = string.Format("您刚才发送了地理位置信息。Location_X:{0},Location_Y:{1},Scale:{2},标签:{3}",
                         requestMessage.Location_X, requestMessage.Location_Y,
                         requestMessage.Scale, requestMessage.Label),
           PicUrl = mapUrl,
           Title = "定位地点周边地图",
           Url = mapUrl
       });
       responseMessage.Articles.Add(new Article()
       {
           Title = "微信公众平台SDK 官网链接",
           Description = "Senparc.Weixin.MK SDK地址",
           PicUrl = "http://weixin.senparc.com/images/logo.jpg",
           Url = "http://weixin.senparc.com"
       });
Nach dem Login kopieren
return responseMessage;<br> }
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage