之前很多專案使用地圖時技術選型不一樣;一會兒使用騰訊地圖、一會兒使用高德地圖,一會兒使用百度地圖;每次使用都去查相關api封裝請求很麻煩,于是自己簡單封裝了一下;
插件介紹:基于h5瀏覽器gps定位、百度地圖、高德地圖、騰訊地圖api封裝的獲取位置資訊相關插件,支持高精度定位;選擇使用哪個地圖傳入對應的地圖key即可,主要功能有根據ip定位(適用于定位到城市級別)、獲取當前位置經緯度(gps、百度、高德、騰訊)、坐標轉換、逆地址編碼(根據經緯度獲取具體位置資訊);想實作獲取具體高精度位置資訊,可先獲取高精度的gps坐標,使用逆地址編碼方法將坐標轉換為對應的位置資訊;插件內已使用jsonp解決了請求第三方api介面跨域的問題,無需單獨再去配置代理;
插件倉庫地址:https://gitee.com/ml_plugins/location.git
主要功能:
| 方法 | 方法描述 | 入參 | 必須 | 入參型別【描述】 | 備注 |
| getLocationByIp | 通過ip獲取位置資訊 | params.type | 否 | string【可選B/A/T;B 百度地圖、A 高德地圖、T 騰訊地圖(默認)】 | 入參不傳ip會默認根據發來請求的IP進行定位; 測驗發現騰訊地圖提供的ip定位api最好用,基 本都能定位到區,高德偏差最大,測驗時我在 成都被定位到了雅安;注意,若獲取失敗,檢 查對應地圖的Referer白名單是否配置,在地 圖密匙管理處配置 |
| params.key | 否 | string【type對應的地圖密匙,不傳時需在插件檔案里配置對應的MAP_KEY】 | |||
| params.ip | 否 | string【需要定位的ip地址,不傳ip會默認根據發來請求的IP進行定位】 | |||
| getCurrentLngLat | 獲取當前位置經緯度 | params.type | 否 | string【可選B/A/T/GPS; B 百度坐標、A 高德坐標、T 騰訊坐標、 GPS 坐標(默認)】 | |
| params.key | 否 | string【type對應的地圖密匙,不傳時需在插件檔案里配置對應的MAP_KEY】 | |||
| params.enableHighAccuracy | 否 | boolean 【是否開啟高精度定位(默認true)】 | |||
| params.timeout | 否 | number 【GPS定位失敗超時時間(默認5000)】 | |||
| params.maximumAge | 否 | number 【最長有效期,在重復獲取地理位置時,此引數指定多久再次獲取位置(默認5000)】 | |||
| translateCoordinate | GPS坐標轉百度、高德、騰訊坐標 | longitude | 是 | string | number【GPS經度】 | |
| latitude | 是 | string | number【GPS經度】 | |||
| type | 是 | string【可選B/A/T; B 百度地圖、A 高德地圖、T 騰訊地圖(默認)】 | |||
| key | 否 | string【type對應的地圖密匙,不傳時需在插件檔案里配置對應的MAP_KEY】 | |||
| inverseGeocoding | 逆地址編碼(根據經緯度獲取位置資訊) | params.longitude | 是 | string | number 【坐標經度】 | |
| params.latitude | 是 | string | number 【坐標緯度】 | |||
| params.type | 是 | string 【可選B/A/T/GPS; B 百度坐標、A 高德坐標、T 騰訊坐標、 GPS 坐標(默認)】 | |||
| key | 否 | 對應地圖key密匙 | |||
|
otherCoordTransfromToBaidu
|
其它坐標轉百度地圖坐標 | options.locations | 是 | string 【需轉換的源坐標,多組坐標以“;”分隔(經度,緯度) 示例:29.575429778924,114.21892734521】 | |
| options.type | 是 | number 【源坐標型別:1:GPS; 2:搜狗; 3:火星坐標; 4:墨卡托平面坐標; 5:百度地圖采用的經緯度坐標(bd09ll); 6:百度地圖采用的墨卡托平面坐標(bd09mc); 7:圖吧地圖坐標; 8:51地圖坐標;】 | |||
| options.key | 否 | string 【百度地圖ak密匙;不傳時需在插件檔案里配置對應的MAP_KEY】 | |||
| otherCoordTransfromToGaode | 其它坐標轉高德地圖坐標 | options.locations | 是 | string 【經度和緯度用","分割,經度在前,緯度在后,經緯度小數點后不得超過6位,多個坐標對之間用”|”進行分隔最多支持40對坐標,】 | |
| options.type | 是 | number 【源坐標型別:1:GPS 2:mapbar 3:baidu 4:autonavi;】 | |||
| options.key | 否 | string 【高德地圖key密匙;不傳時需在插件檔案里配置對應的MAP_KEY】 | |||
| otherCoordTransfromToTencenter | 其它坐標轉騰訊地圖坐標 | options.locations | 是 | string 【經度和緯度用","分割,經度在前,緯度在后,多組的話每組坐標之間使用”;"分隔;最多支持40對坐標,】 | |
| options.type | 是 | number 【源坐標型別:1、GPS坐標 2、sogou經緯度 3、baidu經緯度 4、mapbar經緯度 5、[默認]騰訊、google、高德坐標 6、sogou墨卡托】 | |||
| options.key | 否 | string【騰訊地圖key密匙 ;不傳時需在插件檔案里配置對應的MAP_KEY】 | |||
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/499897.html
標籤:JavaScript
