ปลั๊กอินตำแหน่ง JS สำหรับใช้ในประเทศจีน
ลักษณะ:
PS:
เนื่องจากข้อ จำกัด ของเบราว์เซอร์อาจมีปัญหาเกี่ยวกับการใช้ตำแหน่ง H5 ของหน้าเว็บของชื่อโดเมน HTTP เช่นการวางตำแหน่งที่ไม่ถูกต้องการวางตำแหน่งที่ต้องห้าม ฯลฯ หากคุณต้องการผลลัพธ์การวางตำแหน่งที่แม่นยำยิ่งขึ้นเป็นการดีที่สุดที่จะใช้ชื่อโดเมน 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 | ตั้งค่าการกำหนดค่าส่วนกลาง (ใช้การกำหนดค่าเริ่มต้นหากไม่เรียก) | หมดเวลา: หมายเลข/ตัวเลือก | หมดเวลาเริ่มต้นสำหรับฟังก์ชั่นการวางตำแหน่งทั้งหมดในมิลลิวินาที | 10,000 |
| URL: สตริง/ไม่บังคับ | ไฟล์ที่อยู่ cdn คงที่ | https://cdn.jsdelivr.net/npm/@pikaz/location/lib | ||
| getLocation | ฟังก์ชั่นการวางตำแหน่งเริ่มต้นเป็นที่ต้องการใช้ตำแหน่ง HTML5 หากการวางตำแหน่ง HTML5 ล้มเหลวมันจะเปลี่ยนเป็นตำแหน่ง IP โดยอัตโนมัติ | พารามิเตอร์ที่สอดคล้องกับประเภทการวางตำแหน่งเหมือนกับวิธีการ geth5location และวิธีการ getiplocation ด้านล่าง | - | - |
| geth5location | ตำแหน่ง HTML5 | หมดเวลา: หมายเลข/ตัวเลือก | การหมดเวลา | 10,000 |
| enablehighcuracy: บูลีน/ตัวเลือก | ไม่ว่าจะเปิดใช้งานตำแหน่งที่มีความแม่นยำสูงด้วย GPS (ใช้เวลานานขึ้น) | เท็จ | ||
| รายละเอียด: บูลีน/เสริม | ไม่ว่าจะจำเป็นต้องมีรายละเอียดที่อยู่ (ใช้เวลานานขึ้น) | เท็จ | ||
| ละติจูด: หมายเลข/ไม่บังคับ | ผ่านข้อมูลที่อยู่ละติจูดและลองจิจูดด้วยตนเอง ละติจูดและลองจิจูดจะต้องส่งผ่านในเวลาเดียวกัน ถ้าไม่ใช้ตำแหน่งอุปกรณ์ | - | ||
| ลองจิจูด: หมายเลข/ตัวเลือก | คุณสามารถผ่านข้อมูลที่อยู่ในละติจูดและลองจิจูดด้วยตนเอง ละติจูดและลองจิจูดจะต้องส่งในเวลาเดียวกัน หากคุณไม่ผ่านคุณสามารถใช้ตำแหน่งอุปกรณ์ได้ | - | ||
| ตำแหน่ง | การวางตำแหน่ง IP | หมดเวลา: หมายเลข/ตัวเลือก | การหมดเวลา | 10,000 |
| รายละเอียด: บูลีน/เสริม | ไม่ว่าจะจำเป็นต้องมีรายละเอียดที่อยู่ (ใช้เวลานานขึ้น) | เท็จ | ||
| IP: สตริง/เป็นทางเลือก | คุณสามารถส่งผ่านที่อยู่ IP ด้วยตนเองในรูปแบบ IPv4 (เช่น 114.114.114.114) เพื่อสอบถามข้อมูลที่อยู่ หากคุณไม่ผ่านคุณสามารถใช้ตำแหน่ง IP ของอุปกรณ์ | - | ||
| Searchaddress | แก้ไขข้อความที่อยู่ | หมดเวลา: หมายเลข/ตัวเลือก | การหมดเวลา | 10,000 |
| รายละเอียด: บูลีน/เสริม | ไม่ว่าจะจำเป็นต้องมีรายละเอียดที่อยู่ (ใช้เวลานานขึ้น) | เท็จ | ||
| ที่อยู่: สตริง/จำเป็น | สตริงข้อความที่อยู่จะต้องมีเต็มหรือตัวย่อในระดับจังหวัดหรือเทศบาลและไม่สามารถมีชื่อเขตและเขตเช่นเซินเจิ้น, กวางตุ้ง/เซินเจิ้นนันซาน | - | ||
| SearchCodeAddress | แบบสอบถามรหัสภูมิภาค | หมดเวลา: หมายเลข/ตัวเลือก | การหมดเวลา | 10,000 |
| รายละเอียด: บูลีน/เสริม | ไม่ว่าจะจำเป็นต้องมีรายละเอียดที่อยู่ (ใช้เวลานานขึ้น) | เท็จ | ||
| รหัส: สตริง/จำเป็น | รหัสภูมิภาค | - | ||
| รายการค้นหา | การเชื่อมโยงสามระดับระหว่างจังหวัดเมืองและอำเภอจะดำเนินการเพื่อรับรายการภูมิภาคระดับล่างในภูมิภาค | รหัส: สตริง/ตัวเลือก | รหัสระดับภูมิภาคหากไม่ได้ส่งให้รับรายการภูมิภาคทุกภูมิภาค | - |
| SearchCodeDetail | รับข้อมูลโดยละเอียดเกี่ยวกับการเข้ารหัสภูมิภาคเดียวเทียบเท่ากับข้อมูลรายละเอียดในวิธีอื่น | หมดเวลา: หมายเลข/ตัวเลือก | การหมดเวลา | 10,000 |
| รหัส: สตริง/จำเป็น | รหัสภูมิภาค | - |
หมายเหตุ: หากมีการเปิดใช้งานรายละเอียดข้อมูลโดยละเอียดของจังหวัดเมืองและอำเภอจะถูกส่งคืนตามข้อมูลการวางตำแหน่งพื้นฐานดั้งเดิม
คำอธิบาย: ตั้งค่าการกำหนดค่าส่วนกลาง (ใช้การกำหนดค่าเริ่มต้นหากไม่เรียก)
คุณสามารถอัปโหลดโฟลเดอร์คงที่ทั้งหมดในไดเรกทอรีรูทของโครงการไปยัง OSS ของคุณและส่งที่อยู่ลิงก์ของโฟลเดอร์คงที่เป็น URL ตัวอย่างเช่นโฟลเดอร์คงที่บน OSS สามารถเข้าถึงได้ผ่าน https://xxx.com/file/static และ URL สามารถส่งผ่านไปยัง https://xxx.com/file หากไม่ได้ตั้งค่า URL จะใช้ที่อยู่ CDN สาธารณะเช่น https://cdn.jsdelivr.net/npm/@pikaz/location/lib โดยค่าเริ่มต้น
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 ขอแนะนำให้ใช้โปรโตคอล HTTPS สำหรับการวางตำแหน่ง HTML5 หากเป็น 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 )
} ) หมายเหตุ: ข้อความของที่อยู่มติจะต้องมีระดับเต็มหรือตัวย่อของระดับจังหวัดหรือระดับเทศบาลและไม่สามารถรวมชื่อของเขตและมณฑลเช่นเซินเจิ้นมณฑลกวางตุ้งเมืองเซินเจิ้นเซินเจน
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 )
} ) หมายเหตุ: การเชื่อมโยงของจังหวัดเทศบาลและอำเภอในสามระดับส่งรหัสหน่วยการดูแลระบบที่สอดคล้องกันเพื่อรับรายการหน่วยบริหารระดับล่าง; หากรหัสหน่วยการดูแลระบบไม่ได้ส่งให้รับรายการหน่วยจังหวัดตามค่าเริ่มต้น
import { searchList } from '@pikaz/location'
searchList ( {
code : '110000' ,
} )
. then ( ( res ) => {
// 返回数据结构: [
// {
// "code":"110101",//该地区编码
// "name":"东城区",//该地区名称
// },
// {
// "code":"110102",//该地区编码
// "name":"西城区",//该地区名称
// }
// ]
} )
. catch ( ( err ) => {
console . log ( err )
} ) คำอธิบาย: รับข้อมูลโดยละเอียดเกี่ยวกับภูมิภาคเดียว: รหัสภูมิภาคละติจูดและลองจิจูดชื่อชื่อพินอินชื่อ
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 )
} )