這篇文章主要介紹微信公眾平臺開發(fā)中地圖相關(guān)接口有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、滿城ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的滿城網(wǎng)站制作公司
為了方便大家開發(fā)LBS應(yīng)用,SDK對常用計算公式,以及百度和谷歌的地圖接口做了封裝。
常用計算:
用于計算2個坐標點之間的直線距離:Senparc.Weixin.MP.Helpers.Distance(double n1, double e1, double n2, double e2)
根據(jù)距離獲取維度差:Senparc.Weixin.MP.Helpers.GetLatitudeDifference(double km)
根據(jù)距離獲取經(jīng)度差:Senparc.Weixin.MP.Helpers.GetLongitudeDifference(double km)
百度API類:Senparc.Weixin.MP.Helpers.BaiduMapHelper
生成百度靜態(tài)地圖URL:BaiduMapHelper.GetBaiduStaticMap(double lng, double lat, int scale, int zoom, IList
最后生成的地址如下:
http://maps.googleapis.com/maps/api/staticmap?center=&zoom=13&size=640x640&maptype=roadmap&format=jpg&sensor=false&language=zh&&markers=color:red%7Clabel:O%7C31.285774,120.59761&markers=color:blue%7Clabel:T%7C31.289774,120.59791
生成的URL可以直接放到中,或者直接賦值在ResponseMessageNews的Article.PicUrl。
對應(yīng)的GoogleMap API,SDK中做了一致的操作體驗。
GoogleMap API類:Senparc.Weixin.MP.Helpers.GoogleMapHelper
生成百度靜態(tài)地圖URL:GoogleMapHelper.GetGoogleStaticMap(int scale, IList
生成的地址如下:
http://maps.googleapis.com/maps/api/staticmap?center=&zoom=&size=640x640&maptype=roadmap&format=jpg&sensor=false&language=zh&&markers=color:red%7Clabel:O%7C31.285774,120.59761&markers=color:blue%7Clabel:T%7C31.289774,120.59791
結(jié)合SDk,我們可以在用戶發(fā)送位置消息過來的時候,使用地圖接口做一些功能,例如我們在MessageHandler的OnLocationRequest實踐中對消息進行處理:
////// 處理位置請求 /// /// ///public override IResponseMessageBase OnLocationRequest(RequestMessageLocation requestMessage) { var responseMessage = ResponseMessageBase.CreateFromRequestMessage (requestMessage); var markersList = new List (); 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("您剛才發(fā)送了地理位置信息。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 官網(wǎng)鏈接", Description = "Senparc.Weixin.MK SDK地址", PicUrl = "/upload/otherpic50/13380.jpg", Url = "http://weixin.senparc.com" });
return responseMessage;
}
實際的開發(fā)過程中,除了輸出位置的信息,我們還可以根據(jù)用戶的當(dāng)前位置,檢索就近的點,在Articles中輸出,并計算出距離。
以上是“微信公眾平臺開發(fā)中地圖相關(guān)接口有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!