一、结果展示
二、完整代码
- <template>
- <view class="container">
- <map class="map-container" :latitude="latitude" :longitude="longitude"
- :markers="markers" :controls="controls" show-location
- @markertap="onMarkerTap">
- </map>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- latitude: 34.341568, // 默认中心点(西安)
- longitude: 108.940174,
- // 标记点(多个位置)
- markers: [
- {
- id: 1,
- latitude: 34.341568,
- longitude: 108.940174,
- title: "",
- iconPath: "/static/location.png", // 标记点图标
- width: 30,
- height: 30,
- callout: {
- content: "点击导航",
- color: "#ffffff",
- fontSize: 14,
- borderRadius: 10,
- bgColor: "#000000",
- padding: 8,
- display: "ALWAYS"
- }
- },
- {
- id: 2,
- latitude: 34.250568,
- longitude: 108.950174,
- title: "",
- iconPath: "/static/location.png",
- width: 30,
- height: 30,
- callout: {
- content: "点击导航",
- color: "#ffffff",
- fontSize: 14,
- borderRadius: 10,
- bgColor: "#000000",
- padding: 8,
- display: "ALWAYS"
- }
- }
- ]
- };
- },
- methods: {
- // 点击标记点触发导航
- onMarkerTap(e) {
- const marker = this.markers.find(m => m.id === e.markerId);
- if (marker) {
- uni.openLocation({
- latitude: marker.latitude,
- longitude: marker.longitude,
- name: marker.title,
- address: marker.title,
- scale: 18
- });
- }
- }
- }
- };
- </script>
- <style>
- .container {
- width: 100vw;
- height: 100vh;
- overflow: hidden;
- }
- .map-container {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0;
- left: 0;
- }
- </style>
复制代码 三、代码表明
整体说一下就是map直接组件就显示地图,marker就是标记点传进来显示,uni.openLocation这个就是打开手机内置地图然后选择你的地图就能正常导航过去
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |