Vue 调用高德地图无法使用定位权限
注意:1.我使用的是cli3.x搭建的项目。2.注册高德地图和拿高德地图的key值我就不说了。 需要的自己上网搜一下吧。1.拿到高德key值之后,在vue中的public文件夹–>index文件中引入这么一段代码:把你自己申请下来key值放到下面链接的key=后面就OK了<script type="text/javascript" src="https://webapi.a...
·
注意:
1.我使用的是cli3.x搭建的项目。
2.注册高德地图和拿高德地图的key值我就不说了。 需要的自己上网搜一下吧。
1.拿到高德key值之后,在vue中的public文件夹–>index文件中引入这么一段代码:
把你自己申请下来key值放到下面链接的key=后面就OK了
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=您申请的key值"></script>
然后到App.vue中创建方法,一开始我按照高德地图JS API 中的定位进行测试的代码:这个是在App文件中啊。
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
export default {
name: "app",
created() {
this.getLocation();
},
methods: {
getLocation() {
AMap.plugin("AMap.Geolocation", function() {
var geolocation = new AMap.Geolocation({
// 是否使用高精度定位,默认:true
enableHighAccuracy: true,
// 设置定位超时时间,默认:无穷大
timeout: 10000,
// 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
buttonOffset: new AMap.Pixel(10, 20),
// 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
zoomToAccuracy: true,
// 定位按钮的排放位置, RB表示右下
buttonPosition: "RB"
});
geolocation.getCurrentPosition();
AMap.event.addListener(geolocation, "complete", onComplete);
AMap.event.addListener(geolocation, "error", onError);
function onComplete(data) {
// data是具体的定位信息
console.log(data,“成功”)
}
function onError(data) {
// 定位出错
console.log(data,“失败”)
}
});
}
}
};
</script>
输出结果:
由于谷歌浏览器禁止了非安全域的定位请求。所以会报这个错。
还是在App文件中写入:IP定位获取当前城市信息方法
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
export default {
name: "app",
created() {
this.getLocation();
},
methods: {
getLocation() {
const that = this;
AMap.plugin("AMap.Geolocation", function() {
var geolocation = new AMap.Geolocation({
// 是否使用高精度定位,默认:true
enableHighAccuracy: true,
// 设置定位超时时间,默认:无穷大
timeout: 10000,
// 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
buttonOffset: new AMap.Pixel(10, 20),
// 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
zoomToAccuracy: true,
// 定位按钮的排放位置, RB表示右下
buttonPosition: "RB"
});
geolocation.getCurrentPosition();
AMap.event.addListener(geolocation, "complete", onComplete);
AMap.event.addListener(geolocation, "error", onError);
function onComplete(data) {
// data是具体的定位信息
console.log(data);
}
function onError(data) {
// 定位出错
console.log(data);
// 失败之后调用这个方法,使用IP定位获取当前城市信息
that.getLngLatLocation();
}
});
},
// IP定位获取当前城市信息
getLngLatLocation() {
AMap.plugin("AMap.CitySearch", function() {
var citySearch = new AMap.CitySearch();
citySearch.getLocalCity(function(status, result) {
if (status === "complete" && result.info === "OK") {
// 查询成功,result即为当前所在城市信息
console.log(result)
}
});
});
}
}
};
</script>
输出结果:
更多推荐
已为社区贡献5条内容
所有评论(0)