Plugin Posisi JS untuk digunakan di Cina
ciri:
PS:
Karena pembatasan browser, mungkin ada masalah dengan penggunaan posisi H5 dari halaman web dari nama domain HTTP, seperti penentuan posisi yang tidak akurat, posisi terlarang, dll. Jika Anda ingin hasil penentuan posisi lebih akurat, yang terbaik adalah menggunakan nama domain HTTPS;
File lokasi plug-in ini disimpan dalam CDN pihak ketiga. Jika Anda ingin menyimpannya di CDN Anda sendiri, Anda dapat merujuk pada pengantar penggunaan fungsi setConfig
Perbarui Log:
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| Nama metode | Deskripsi metode | Parameter/objek | Deskripsi parameter | Nilai parameter default |
| setConfig | Setel konfigurasi global (gunakan konfigurasi default jika tidak dipanggil) | Timeout: Nomor/Opsional | Batas waktu default untuk semua fungsi penentuan posisi, dalam milidetik | 10000 |
| URL: String/Opsional | Alamat cdn file statis | https://cdn.jsdelivr.net/npm/@pikaz/location/lib | ||
| Getlocation | Fungsi penentuan posisi default lebih disukai untuk menggunakan penentuan posisi HTML5. Jika posisi HTML5 gagal, itu akan secara otomatis beralih ke posisi IP. | Parameter yang sesuai dengan jenis penentuan posisi sama dengan metode geth5location dan metode getiplocation di bawah ini | - | - |
| geth5location | POSISI HTML5 | Timeout: Nomor/Opsional | Batas waktu | 10000 |
| enableHighaccuracy: boolean/opsional | Apakah akan mengaktifkan posisi presisi tinggi dengan GPS (lebih banyak memakan waktu) | PALSU | ||
| Detail: Boolean/Opsional | Apakah detail alamat diperlukan (lebih memakan waktu) | PALSU | ||
| Latitude: Nomor/Opsional | Lulus secara manual dalam informasi alamat Latitude and Longitude. Lintang dan bujur perlu diteruskan pada saat yang sama. Jika tidak, gunakan lokasi perangkat | - | ||
| Longitude: Nomor/Opsional | Anda dapat lulus secara manual dalam informasi alamat Latitude and Longitude Inquiry. Lintang dan bujur perlu ditransmisikan secara bersamaan. Jika Anda tidak lulus, Anda dapat menggunakan penentuan posisi perangkat. | - | ||
| getiplocation | Posisi IP | Timeout: Nomor/Opsional | Batas waktu | 10000 |
| Detail: Boolean/Opsional | Apakah detail alamat diperlukan (lebih memakan waktu) | PALSU | ||
| IP: String/Opsional | Anda dapat secara manual lulus dalam alamat IP dalam format IPv4 (seperti 114.114.114.114) untuk menanyakan informasi alamat. Jika Anda tidak melewatinya, Anda dapat menggunakan lokasi IP perangkat. | - | ||
| SearchAddress | Menyelesaikan teks alamat | Timeout: Nomor/Opsional | Batas waktu | 10000 |
| Detail: Boolean/Opsional | Apakah detail alamat diperlukan (lebih memakan waktu) | PALSU | ||
| Alamat: String/Diperlukan | Alamat Teks String harus memiliki penuh atau singkatan di tingkat provinsi atau kota, dan tidak hanya tidak berisi nama distrik dan kabupaten, seperti Shenzhen, Guangdong/Shenzhen Nanshan | - | ||
| SearchCodeaddress | Kueri Kode Regional | Timeout: Nomor/Opsional | Batas waktu | 10000 |
| Detail: Boolean/Opsional | Apakah detail alamat diperlukan (lebih memakan waktu) | PALSU | ||
| Kode: String/Diperlukan | Kode Regional | - | ||
| Daftar pencarian | Keterkaitan tiga tingkat antara provinsi, kota dan distrik dilakukan untuk mendapatkan daftar daerah tingkat bawah di wilayah tersebut | Kode: String/Opsional | Kode regional, jika tidak ditransmisikan, dapatkan daftar semua wilayah provinsi | - |
| SearchCodedetail | Dapatkan informasi terperinci tentang pengkodean satu wilayah, setara dengan data detail dalam metode lain | Timeout: Nomor/Opsional | Batas waktu | 10000 |
| Kode: String/Diperlukan | Kode Regional | - |
Catatan: Jika detailnya diaktifkan, informasi terperinci dari provinsi, kota dan distrik akan dikembalikan berdasarkan informasi penentuan posisi dasar asli.
Deskripsi: Setel konfigurasi global (gunakan konfigurasi default jika tidak dipanggil)
Anda dapat mengunggah seluruh folder statis di direktori root proyek ke OS Anda dan meneruskan alamat tautan folder statis sebagai URL. Misalnya, folder statis pada OSS dapat diakses melalui https://xxx.com/file/static, dan URL dapat diteruskan ke https://xxx.com/file. Jika tidak disetel, URL menggunakan alamat CDN publik seperti https://cdn.jsdelivr.net/npm/@pikaz/location/lib secara default (cdn partai ketiga mungkin tidak stabil, yang terbaik adalah mengunggah file lokasi sendiri)
import { setConfig } from '@pikaz/location'
setConfig ( {
// 超时时间
timeout : 10000 ,
// 您的oss地址
url : 'https://unpkg.com/@pikaz/location/lib' ,
} ) Catatan: Fungsi penentuan posisi default lebih disukai untuk menggunakan penentuan posisi HTML5. Jika posisi HTML5 gagal, itu akan secara otomatis beralih ke posisi IP.
import { getLocation } from '@pikaz/location'
getLocation ( )
. then ( ( res ) => {
// 返回数据结构: {
// ...,//返回对应定位类型数据,同下方的getH5Location和getIpLocation返回数据格式
// type:"h5"//定位类型:h5/ip
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) CATATAN: Fungsi penentuan posisi html5. Disarankan untuk menggunakan protokol HTTPS untuk penentuan posisi HTML5. Jika http, maka penentuan posisi HTML5 dapat menyebabkan posisi yang tidak akurat atau ketidakmampuan untuk memposisikan (tergantung pada kebijakan browser), dan memungkinkan posisi presisi tinggi akan lebih memakan waktu;
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 )
} ) Catatan: Fungsi penentuan posisi IP. Posisi IP kurang akurat dan mungkin tidak akurat daripada HTML5. Namun, jika pengguna menolak untuk memposisikan otorisasi, penentuan posisi IP dapat digunakan sebagai solusi jaminan;
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 )
} ) CATATAN: Teks dari alamat resolusi harus berisi lengkap atau singkatan dari tingkat provinsi atau kota, dan tidak hanya tidak termasuk nama -nama distrik dan kabupaten, seperti Shenzhen, Provinsi Guangdong, Kota Shenzhen, Provinsi Guangdong, Nanshan, Guangdong/Shenzhen/Shenzhen/Shenzhen/Shenhan
import { searchAddress } from '@pikaz/location'
searchAddress ( {
address : '广东福田' ,
} )
. then ( ( res ) => {
// 返回数据结构:{
// address: "广东省深圳市福田区"//完整地址
// city: "深圳市"//市级名称
// code: "440304"//地区编码
// district: "福田区"//区县级名称
// province: "广东省"//省级名称
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) Deskripsi: Informasi Alamat Kueri Kode Regional
import { searchCodeAddress } from '@pikaz/location'
searchCodeAddress ( {
code : '440304' ,
} )
. then ( ( res ) => {
// 返回数据结构:{
// address: "广东省深圳市福田区"//完整地址
// city: "深圳市"//市级名称
// code: "440304"//地区编码
// district: "福田区"//区县级名称
// province: "广东省"//省级名称
// }
} )
. catch ( ( err ) => {
console . log ( err )
} ) Catatan: Hubungan provinsi, kota dan kabupaten di tiga tingkatan, mengirimkan kode unit administratif yang sesuai untuk mendapatkan daftar unit administrasi tingkat rendah; Jika kode unit administratif tidak ditransmisikan, dapatkan daftar unit provinsi secara default
import { searchList } from '@pikaz/location'
searchList ( {
code : '110000' ,
} )
. then ( ( res ) => {
// 返回数据结构: [
// {
// "code":"110101",//该地区编码
// "name":"东城区",//该地区名称
// },
// {
// "code":"110102",//该地区编码
// "name":"西城区",//该地区名称
// }
// ]
} )
. catch ( ( err ) => {
console . log ( err )
} ) Deskripsi: Dapatkan informasi terperinci tentang satu wilayah: kode wilayah, lintang dan bujur, nama, nama 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 )
} ) Catatan: Jika diaktifkan, informasi alamat terperinci akan dikembalikan dalam data pengembalian asli.
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 )
} )