国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(十三):地圖相關(guān)接口說明

2019-11-17 02:43:36
字體:
供稿:網(wǎng)友

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(十三):地圖相關(guān)接口說明

  為了方便大家開發(fā)LBS應(yīng)用,SDK對常用計算公式,以及百度和谷歌的地圖接口做了封裝。

常用計算:

  用于計算2個坐標(biāo)點之間的直線距離: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<BaiduMarkers> markersList, int width = 400, int height = 300)

最后生成的地址如下:

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可以直接放到<img>中,或者直接賦值在ResponseMessageNews的Article.PicUrl。

對應(yīng)的GoogleMap API,SDK中做了一致的操作體驗。

GoogleMap API類:Senparc.Weixin.MP.Helpers.GoogleMapHelper

生成百度靜態(tài)地圖URL:GoogleMapHelper.GetGoogleStaticMap(int scale, IList<GoogleMapMarkers> markersList, string size = "640x640")

生成的地址如下:

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實踐中對消息進(jìn)行處理:

    %20///%20<summary>%20%20%20%20%20%20%20%20///%20處理位置請求%20%20%20%20%20%20%20%20///%20</summary>%20%20%20%20%20%20%20%20///%20<param%20name="requestMessage"></param>%20%20%20%20%20%20%20%20///%20<returns></returns>%20%20%20%20%20%20%20%20public%20override%20IResponseMessageBase%20OnLocationRequest(RequestMessageLocation%20requestMessage)%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20var%20responseMessage%20=%20ResponseMessageBase.CreateFromRequestMessage<ResponseMessageNews>(requestMessage);%20%20%20%20%20%20%20%20%20%20%20%20var%20markersList%20=%20new%20List<GoogleMapMarkers>();%20%20%20%20%20%20%20%20%20%20%20%20markersList.Add(new%20GoogleMapMarkers()%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%20=%20requestMessage.Location_X,%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%20=%20requestMessage.Location_Y,%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Color%20=%20"red",%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Label%20=%20"S",%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Size%20=%20GoogleMapMarkerSize.Default,%20%20%20%20%20%20%20%20%20%20%20%20});%20%20%20%20%20%20%20%20%20%20%20%20var%20mapSize%20=%20"480x600";%20%20%20%20%20%20%20%20%20%20%20%20var%20mapUrl%20=%20GoogleMapHelper.GetGoogleStaticMap(19%20/*requestMessage.Scale*//*微信和GoogleMap的Scale不一致,這里建議使用固定值*/,%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20markersList,%20mapSize);%20%20%20%20%20%20%20%20%20%20%20%20responseMessage.Articles.Add(new%20Article()%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Descr
            return responseMessage; }

  實際的開發(fā)過程中,除了輸出位置的信息,我們還可以根據(jù)用戶的當(dāng)前位置,檢索就近的點,在Articles中輸出,并計算出距離。

  系列教程索引:http://www.survivalescaperooms.com/szw/archive/2013/05/14/weixin-course-index.html


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平远县| 游戏| 开江县| 广丰县| 高唐县| 依安县| 宁强县| 萨嘎县| 新乡县| 新宁县| 琼中| 巴林右旗| 商丘市| 福安市| 布尔津县| 麻城市| 阳新县| 股票| 安乡县| 北川| 辽中县| 资阳市| 图片| 芷江| 林口县| 定兴县| 平陆县| 化州市| 德格县| 德化县| 扬州市| 汉阴县| 枝江市| 定南县| 昌吉市| 封开县| 平南县| 乌鲁木齐县| 武川县| 遵化市| 克东县|