中国で使用するJSポジショニングプラグイン
特性:
PS:
ブラウザの制限により、不正確なポジショニング、禁止ポジショニングなど、HTTPドメイン名のWebページのH5ポジショニングの使用に問題がある可能性があります。ポジショニング結果をより正確にしたい場合は、HTTPSドメイン名を使用するのが最善です。
このプラグインの位置ファイルは、サードパーティのCDNに保存されます。独自のCDNに保存する場合は、SetConfig関数の使用の紹介を参照できます
更新ログ:
yarn add @pikaz/location
npm i -S @pikaz/location import { getLocation } from '@pikaz/location' < script
type =" text/javascript "
src =" https://cdn.jsdelivr.net/npm/@pikaz/location "
> </ script >
或者
< script type =" text/javascript " src =" https://unpkg.com/@pikaz/location " > </ script > const { getLocation } = window . pikazLocation| メソッド名 | メソッドの説明 | パラメーター/オブジェクト | パラメーターの説明 | デフォルトのパラメーター値 |
| setconfig | グローバル構成を設定します(呼び出されていない場合はデフォルト構成を使用) | タイムアウト:番号/オプション | すべてのポジショニング関数のデフォルトのタイムアウト、ミリ秒単位で | 10000 |
| URL:文字列/オプション | 静的ファイルCDNアドレス | https://cdn.jsdelivr.net/npm/@pikaz/location/lib | ||
| getlocation | デフォルトのポジショニング機能は、HTML5ポジショニングを使用するよりも推奨されます。 HTML5ポジショニングが失敗した場合、IPポジショニングに自動的に切り替わります。 | ポジショニングタイプに対応するパラメーターは、以下のGeth5locationメソッドとGetPlocationメソッドと同じです | - | - |
| geth5location | HTML5ポジショニング | タイムアウト:番号/オプション | タイムアウト | 10000 |
| EnableHighAccuracy:boolean/optional | GPSによる高精度の位置決めを有効にするかどうか(より時間がかかります) | 間違い | ||
| 詳細:ブール/オプション | アドレスの詳細が必要かどうか(より時間がかかります) | 間違い | ||
| 緯度:番号/オプション | 緯度と経度の問い合わせアドレス情報で手動で合格します。緯度と経度を同時に渡す必要があります。そうでない場合は、デバイスの場所を使用してください | - | ||
| 経度:数/オプション | 緯度および経度の問い合わせアドレス情報で手動で合格することができます。緯度と経度を同時に伝達する必要があります。合格しない場合は、デバイスの位置決めを使用できます。 | - | ||
| 取得 | IPポジショニング | タイムアウト:番号/オプション | タイムアウト | 10000 |
| 詳細:ブール/オプション | アドレスの詳細が必要かどうか(より時間がかかります) | 間違い | ||
| IP:文字列/オプション | IPv4形式のIPアドレス(114.114.114.114など)で手動で渡すことができ、アドレス情報を照会できます。渡さない場合は、デバイスIPの場所を使用できます。 | - | ||
| SearchAddress | アドレステキストを解決します | タイムアウト:番号/オプション | タイムアウト | 10000 |
| 詳細:ブール/オプション | アドレスの詳細が必要かどうか(より時間がかかります) | 間違い | ||
| アドレス:文字列/必須 | アドレステキスト文字列は、州または市のレベルで完全または略語を持つ必要があり、深セン、広東/深Shenzhen Nanshanなどの地区および郡の名前のみを含めることはできません | - | ||
| SearchCodeAddress | 地域コードクエリ | タイムアウト:番号/オプション | タイムアウト | 10000 |
| 詳細:ブール/オプション | アドレスの詳細が必要かどうか(より時間がかかります) | 間違い | ||
| コード:文字列/必須 | 地域コード | - | ||
| 検索リスト | 州、都市、地区間の3レベルのつながりは、地域の下位レベルの地域のリストを取得するために実行されます | コード:文字列/オプション | 地域コードは、送信されていない場合、すべての地域のリストを取得します | - |
| SearchCodedEtail | 他の方法の詳細データに相当する単一の領域エンコーディングに関する詳細情報を取得します | タイムアウト:番号/オプション | タイムアウト | 10000 |
| コード:文字列/必須 | 地域コード | - |
注:詳細が有効になっている場合、州、市、地区の詳細情報は、元の基本的な位置決め情報に基づいて返送されます。
説明:グローバル構成を設定します(呼び出されていない場合はデフォルト構成を使用)
プロジェクトのルートディレクトリに静的フォルダー全体をOSSにアップロードし、staticフォルダーのリンクアドレスをURLとして渡すことができます。たとえば、OSSの静的フォルダーはhttps://xxx.com/file/staticを介してアクセスでき、URLはhttps://xxx.com/fileに渡すことができます。設定されていない場合、URLはhttps://cdn.jsdelivr.net/npm/@pikaz/location/libなどのpublic cdnアドレスをデフォルトで使用します(サードパーティCDNは不安定な場合があります。
import { setConfig } from '@pikaz/location'
setConfig ( {
// 超时时间
timeout : 10000 ,
// 您的oss地址
url : 'https://unpkg.com/@pikaz/location/lib' ,
} ) 注:デフォルトの位置決め関数は、HTML5ポジショニングを使用するよりも推奨されます。 HTML5ポジショニングが失敗した場合、IPポジショニングに自動的に切り替わります。
import { getLocation } from '@pikaz/location'
getLocation ( )
. then ( ( res ) => {
// 返回数据结构: {
// ...,//返回对应定位类型数据,同下方的getH5Location和getIpLocation返回数据格式
// type:"h5"//定位类型:h5/ip
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) 注:HTML5ポジショニング機能。 HTML5ポジショニングにHTTPSプロトコルを使用することをお勧めします。 HTTPの場合、HTML5の位置決めにより、ポジショニングが不正確になったり、ポジションが不可能になったりする可能性があり(ブラウザポリシーに応じて)、高精度のポジショニングを可能にすることはより時間がかかります。
import { getH5Location } from '@pikaz/location'
getH5Location ( {
// 开启gps高精度定位
enableHighAccuracy : true ,
} )
. then ( ( res ) => {
// 返回数据结构:{
// address: "广东省深圳市福田区"//完整地址
// city: "深圳市"//市级名称
// code: "440304"//地区编码
// district: "福田区"//区县级名称
// latitude: 22.547//区县级纬度
// longitude: 114.085947//区县级经度
// province: "广东省"//省级名称
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) 注:IPポジショニング機能。 IPポジショニングは精度が低く、HTML5よりも不正確である可能性があります。ただし、ユーザーが承認の位置付けを拒否した場合、IPポジショニングは保証ソリューションとして使用できます。
import { getIpLocation } from '@pikaz/location'
getIpLocation ( )
. then ( ( res ) => {
// 返回数据结构:{
// address: "江苏省南京市"//完整地址
// city: "南京市"//市级名称
// code: "320100"//地区编码
// district: ""//区县级名称
// province: "江苏省"//省级名称
// ip: "114.114.114.114"//ip地址
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) 注:解決住所のテキストには、州または市のレベルの完全または略語が含まれている必要があり、深Shenzhen、広東省、深Shenzhen市、Nanshan、Guangdong/Shenzhen/Shenzhen/Shenzhennhenhanhanhanhanhanhanhanhanhanhanhanshan/Shenzhennhanhanhanhanshanなどの地区や郡の名前のみを含めることはできません。
import { searchAddress } from '@pikaz/location'
searchAddress ( {
address : '广东福田' ,
} )
. then ( ( res ) => {
// 返回数据结构:{
// address: "广东省深圳市福田区"//完整地址
// city: "深圳市"//市级名称
// code: "440304"//地区编码
// district: "福田区"//区县级名称
// province: "广东省"//省级名称
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) 説明:地域のコードクエリアドレス情報
import { searchCodeAddress } from '@pikaz/location'
searchCodeAddress ( {
code : '440304' ,
} )
. then ( ( res ) => {
// 返回数据结构:{
// address: "广东省深圳市福田区"//完整地址
// city: "深圳市"//市级名称
// code: "440304"//地区编码
// district: "福田区"//区县级名称
// province: "广东省"//省级名称
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) 注:3つのレベルでの州、地方自治体、および地区のつながりは、対応する管理ユニットコードを送信して、低レベルの管理ユニットのリストを取得します。管理ユニットコードが送信されていない場合は、デフォルトで地方ユニットのリストを取得します
import { searchList } from '@pikaz/location'
searchList ( {
code : '110000' ,
} )
. then ( ( res ) => {
// 返回数据结构: [
// {
// "code":"110101",//该地区编码
// "name":"东城区",//该地区名称
// },
// {
// "code":"110102",//该地区编码
// "name":"西城区",//该地区名称
// }
// ]
} )
. catch ( ( err ) => {
console . log ( err )
} ) 説明:単一の領域に関する詳細情報を入手してください:地域コード、緯度と経度、名前、名前Pinyin
import { searchCodeDetail } from '@pikaz/location'
searchCodeDetail ( {
code : '440304' ,
} )
. then ( ( res ) => {
// {
// "code": "440304", //该地区编码
// "location": { //该地区经纬度
// "latitude": 22.521541,
// "longitude": 114.05498
// },
// "name": "福田区", //该地区名称
// "pinyin": "futianqu" //该地区拼音
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) 注:有効にした場合、詳細なアドレス情報は元の返品データで返されます。
import { getH5Location } from '@pikaz/location'
getH5Location ( {
// 获取详细地址信息
detail : true ,
} )
. then ( ( res ) => {
// {
// address: "广东省深圳市福田区" //完整地址
// city: "深圳市" //市级名称
// code: "440304" //地区编码
// district: "福田区" //区县级名称
// latitude: 22.547 //区县级纬度
// longitude: 114.085947 //区县级经度
// province: "广东省" //省级名称
// "detail": { //详细地址信息
// "province": {
// "code": "440000", //省级地区编码
// "location": { //省级地区经纬度
// "latitude": 23.13171,
// "longitude": 113.26627
// },
// "name": "广东省", //省级名称
// "pinyin": "guangdong" //省级名称拼音
// },
// "city": {
// "code": "440300", //市级地区编码
// "location": { //市级地区经纬度
// "latitude": 22.54286,
// "longitude": 114.05956
// },
// "name": "深圳市", //市级名称
// "pinyin": "shenzhen" //市级名称拼音
// },
// "district": {
// "code": "440304", //区县级地区编码
// "location": { //区县级地区经纬度
// "latitude": 22.521541,
// "longitude": 114.05498
// },
// "name": "福田区", //区县级名称
// "pinyin": "futianqu" //区县级名称拼音
// }
// }
} )
. catch ( ( err ) => {
console . log ( err )
} )