중국에서 사용하기위한 JS 포지셔닝 플러그인
특성:
추신:
브라우저 제한으로 인해 부정확 한 위치 설치, 금지 포지셔닝 등과 같은 HTTP 도메인 이름의 웹 페이지의 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/loction/lib | ||
| GetLocation | 기본 포지셔닝 함수는 HTML5 위치를 사용하는 것이 선호됩니다. HTML5 포지셔닝이 실패하면 자동으로 IP 위치로 전환됩니다. | 포지셔닝 유형에 해당하는 매개 변수는 Geth5Location 방법과 동일합니다. | - | - |
| geth5location | HTML5 포지셔닝 | 시간 초과 : 번호/선택 사항 | 시간 초과 | 10000 |
| ENABLEHIGHACCURACY : 부울/선택 사항 | GPS로 고정밀 포지셔닝을 활성화할지 여부 (더 많은 시간 소비) | 거짓 | ||
| 세부 사항 : 부울/선택 사항 | 주소 세부 정보가 필요한지 여부 (시간이 많이 소요) | 거짓 | ||
| 위도 : 번호/선택 사항 | 위도 및 경도 문의 주소 정보를 수동으로 전달합니다. 위도와 경도는 동시에 통과해야합니다. 그렇지 않은 경우 장치 위치를 사용하십시오 | - | ||
| 경도 : 숫자/선택 사항 | 위도 및 경도 문의 주소 정보를 수동으로 전달할 수 있습니다. 위도와 경도는 동시에 전송해야합니다. 통과하지 않으면 장치 위치를 사용할 수 있습니다. | - | ||
| getiplocation | IP 포지셔닝 | 시간 초과 : 번호/선택 사항 | 시간 초과 | 10000 |
| 세부 사항 : 부울/선택 사항 | 주소 세부 정보가 필요한지 여부 (시간이 많이 소요) | 거짓 | ||
| IP : 문자열/옵션 | IP 주소를 IPv4 형식 (예 : 114.114.114.114)으로 수동으로 전달하여 주소 정보를 쿼리 할 수 있습니다. 통과하지 않으면 장치 IP 위치를 사용할 수 있습니다. | - | ||
| searchAddress | 주소 텍스트를 해결하십시오 | 시간 초과 : 번호/선택 사항 | 시간 초과 | 10000 |
| 세부 사항 : 부울/선택 사항 | 주소 세부 정보가 필요한지 여부 (시간이 많이 소요) | 거짓 | ||
| 주소 : 문자열/필수 | 주소 텍스트 문자열은 지방 또는 지방 자치 단체에서 전체 또는 약어를 가져야하며 Shenzhen, Guangdong/Shenzhen Nanshan과 같은 지구 및 카운티 이름 만 포함 할 수 없습니다. | - | ||
| SearchCodeAddress | 지역 코드 쿼리 | 시간 초과 : 번호/선택 사항 | 시간 초과 | 10000 |
| 세부 사항 : 부울/선택 사항 | 주소 세부 정보가 필요한지 여부 (시간이 많이 소요) | 거짓 | ||
| 코드 : 문자열/필수 | 지역 코드 | - | ||
| 검색 목록 | 지방, 도시 및 지구 간의 3 단계 연계는이 지역의 하위 지역 목록을 얻기 위해 수행됩니다. | 코드 : 문자열/선택적 | 전송되지 않으면 모든 지방 지역의 목록을받습니다. | - |
| searchCodedEtail | 다른 방법의 세부 데이터에 해당하는 단일 영역 인코딩에 대한 자세한 정보 얻기 | 시간 초과 : 번호/선택 사항 | 시간 초과 | 10000 |
| 코드 : 문자열/필수 | 지역 코드 | - |
참고 : 세부 사항이 활성화되면 원래 기본 포지셔닝 정보에 따라 지방, 도시 및 지구의 자세한 정보가 반환됩니다.
설명 : 글로벌 구성 설정 (호출되지 않은 경우 기본 구성 사용)
프로젝트의 루트 디렉토리에 전체 정적 폴더를 OSS에 업로드하고 정적 폴더의 링크 주소를 URL로 전달할 수 있습니다. 예를 들어, OSS의 정적 폴더는 https://xxx.com/file/static을 통해 액세스 할 수 있으며 URL을 https://xxx.com/file로 전달할 수 있습니다. 설정하지 않으면 URL은 https://cdn.jsdelivr.net/npm/@pikaz/location/lib와 같은 공개 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 City, 광저우, 광신/Shenzhen/Shenzhen/Shenzhen Nanshan과 같은 지구 및 카운티의 이름 만 포함 할 수 없습니다.
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 )
} )