之前很多項目使用地圖時技術選型不一樣;一會兒使用騰訊地圖、一會兒使用高德地圖,一會兒使用百度地圖;每次使用都去查相關api封裝請求很麻煩,於是自己簡單封裝了一下; 插件介紹:基於h5瀏覽器gps定位、百度地圖、高德地圖、騰訊地圖api封裝的獲取位置信息相關插件,支持高精度定位;選擇使用哪個地圖傳入對 ...
之前很多項目使用地圖時技術選型不一樣;一會兒使用騰訊地圖、一會兒使用高德地圖,一會兒使用百度地圖;每次使用都去查相關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】 | |||