【vue接入騰訊地圖之點擊事件】,請參考:https://www.cnblogs.com/Dreamholder/p/13626081.html
1、【標注】
添加標注
var marker = new qq.maps.Marker({
position: myLatlng ,
map: map
});
文本標注
var marker = new qq.maps.Label({
position: myLatlng,
map: map,
content:'文本標注'
});
效果
自定義標注圖標
var anchor = new qq.maps.Point(300, 0),
size = new qq.maps.Size(600, 680),
origin = new qq.maps.Point(-150, 0),
markerIcon = new qq.maps.MarkerImage(
"/static/images/position.png",
size,
origin,
anchor
);
marker.setIcon(markerIcon);
預覽
定位logo
官網預覽https://lbs.qq.com/javascript_v2/case-run.html#sample-overlay-addmarkerimage
為什么會有這么大區別呢,因為這是圖片的問題一個大一個小,還需要稍加調整,展示官網定位圖片
2、【定位實戰→qq.maps.Geolocation】
- 引入js包(注意:vue項目得在首頁的index.html里面引入)
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=yourkey"></script>
//這個是固定的用這個鏈接就可以
<script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
三步走
<template>
<div id="container" style="width:600px;height:500px;"></div>
</template>
<script>
export default{
name:'news',
data() {
return {
longitude:0,//經度
latitude:0,//緯度
city:''
}
},
methods:{
//第一部分
//定位獲得當前位置信息
getMyLocation() {
var geolocation = new qq.maps.Geolocation("yourkey", "yourkey名稱");
geolocation.getIpLocation(this.showPosition, this.showErr);
//geolocation.getLocation(this.showPosition, this.showErr);//或者用getLocation精確度比較高
},
showPosition(position) {
console.log(position);
this.latitude = position.lat;
this.longitude = position.lng;
this.city = position.city;
this.setMap();
},
showErr() {
console.log("定位失敗");
this.getMyLocation();//定位失敗再請求定位,測試使用
},
//第二部分
//位置信息在地圖上展示
setMap() {
//步驟:定義map變量 調用 qq.maps.Map() 構造函數 獲取地圖顯示容器
//設置地圖中心點
var myLatlng = new qq.maps.LatLng(this.latitude,this.longitude);
//定義工廠模式函數
var myOptions = {
zoom: 13, //設置地圖縮放級別
center: myLatlng, //設置中心點樣式
mapTypeId: qq.maps.MapTypeId.ROADMAP //設置地圖樣式詳情參見MapType
}
// //獲取dom元素添加地圖信息
var map = new qq.maps.Map(document.getElementById("container"), myOptions);
//第三部分
//給定位的位置添加圖片標注
var marker = new qq.maps.Marker({
position: myLatlng,
map: map
});
//給定位的位置添加文本標注
var marker = new qq.maps.Label({
position: myLatlng,
map: map,
content:'這是我當前的位置,偏差有點大,哈哈'
});
}
},
mounted() {
this.getMyLocation();
}
}
</script>
開發者用的時候可以一步一步去實現,保證每一步都實現后再進行下一步
申請key地址
https://lbs.qq.com/console/mykey.html
官方文檔
https://lbs.qq.com/tool/component-geolocation.html
https://lbs.qq.com/javascript_v2/guide-start.html
以上內容轉載自前端來入坑的文章《vue使用騰訊地圖(三)標注》
鏈接:https://www.jianshu.com/p/eca4f20ee1cb
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。