H5页面调起地图导航

h5页面拉起地图导航

• 新年快乐,在此㊗️大家万事如意,牛气冲天!

这里再次记录下, 在vue中使用百度地图,点击marker弹窗选择对应导航方式。


百度api文档

效果图

在这里插入图片描述

拉起导航方式

1. 高德地图
  1. 调用方式

    http://uri.amap.com/marker?position=lng,lat&name=address&coordinate=gaode&callnative=1
    
  2. 说明:

    • 其中position、name分别是经纬度和详情地址参数
  3. api请查看

2. 百度地图
  1. 调用方式

    http://api.map.baidu.com/marker?location=纬度,经度&title=所在位置名称&content=所在位置的简介&output=html
    
  2. 说明:

    • 其中location、title、content分别是经纬度、标注点显示标题及标注点显示内容output为指定输出类型,web上必须指定。

    • ios设备当切换底部tab时,会弹窗提示可能离开微信,打开第三方应用,根据需要操作即可。

  3. api请查看

3. 腾讯地图
  1. 调用方式

    http://apis.map.qq.com/uri/v1/marker?marker=coord:lat,lng;addr:address
    
  2. 说明:

    • 其中coord、addr分别是经纬度和详情地址参数
    • 当用户没有安装腾讯地图APP应用时,点击时会直接跳转到浏览器提供下载。
  3. api请查看

方式二
	<a href="https://apis.map.qq.com/uri/v1/geocoder?coord=22.558786,114.057934&amp;referer=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77" style="text-decoration:none;margin-top: 40px;" target="_blank">
	   <div style="width:98%; background: #2134ae; padding:8px 0px; color:#FFFFFF; border-radius:5px; text-align:center;margin-left: 1%;">导航</div>
	</a>

vue使用百度地图

  • 安装
npm install vue-baidu-map --save
  • 使用

这里使用局部注册组件

template
<div class='mapWrap page'>
    <baidu-map class="bm-view" ak="YOUR_APP_KEY" style="width: 100%; height: 100%"
		:center="{lng, lat}" :zoom="15" :scroll-wheel-zoom="true"
	>
        
        <bm-marker @click="show = true" :position="{lng, lat}" animation="BMAP_ANIMATION_BOUNCE">
            <bm-label :content="baseName" :labelStyle="{color: 'red', fontSize : '12px', borderRadius: '4px'}" :offset="{width: -35, height: 30}"/>
        </bm-marker>

        <bm-geolocation anchor="BMAP_ANCHOR_BOTTOM_RIGHT" :showAddressBar="true" :autoLocation="true" :locationIcon="icon"></bm-geolocation>
        
    </baidu-map>
    
    <!-- mask自行写样式 -->
    <div class="content">
        <ul>
            <!-- 这里可根据需求添加其他导航方式 -->
            <li>
                <a :href="autoNaviUrl">高德地图</a>
            </li>
        </ul>
    </div>
</div>
script
<script>
    import BaiduMap from 'vue-baidu-map/components/map/Map.vue'
    import BmMarker from 'vue-baidu-map/components/overlays/Marker'
    import BmLabel from 'vue-baidu-map/components/overlays/Label'    
    import BmGeolocation from 'vue-baidu-map/components/controls/Geolocation'

    export default {
        name: "Map",
        data() {
            return {
                lng: 116.404,
                lat: lat: 39.915,
                baseName: '北京天安门',
                icon: {
                    url: require('../../assets/images/icon/location_3.png'),
                    size: {width: 40, height: 40},
                    opts: {anchor: {width: 27, height:13}}
                },
                show: false,
                autoNaviUrl: ''
            };
        },
        components: {
            BaiduMap,
            BmMarker,
            BmGeolocation,
            BmLabel
        },

        created() {
            
            // 高德地图
            this.autoNaviUrl = `https://uri.amap.com/marker?position=${this.lng},${this.lat}&name=${this.baseName}`;
            
        },

    };
</script>
style
// 隐藏logo
<style>
    .BMap_cpyCtrl,
    .anchorBL {
        display: none;
    }
</style>
  • 8
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
H5实现微信小程序地图导航可以通过以下步骤实现: 1. 首先,使用H5开发工具创建一个新的小程序项目。在项目中引入相关的H5地图API(例如高德地图、百度地图等)。 2. 在小程序页面的HTML文件中,创建地图容器元素,可以使用div元素并设置宽度和高度等样式。 3. 在小程序页面的JavaScript文件中,获取地图容器元素,并初始化地图对象。根据选择的地图API,可以用相应的地图初始化函数,传入地图容器的ID、地图配置等参数。 4. 在地图初始化完成后,可以根据用户的定位信息,通过地图API获取用户的当前位置,并将地图中心设置为用户所在位置。 5. 根据需求,可以在页面中添加导航相关的控件,例如搜索框、当前位置按钮等。通过地图API提供的相关功能,实现地点搜索和点击定位按钮回到当前位置的功能。 6. 当用户输入导航目的地时,根据地图API提供的导航功能,可以绘制导航路线,并在地图上展示出来。可以通过设置起点和终点的经纬度,地图API中的导航函数,获取导航路线,并将路线绘制在地图上。 7. 在地图导航绘制完成后,可以根据需要,添加额外的交互功能,例如点击路线中的某一点可以显示该点的详细信息、点击地图上的POI点可以获取相关信息等。 通过以上步骤,就可以在H5中实现微信小程序地图导航功能。需要注意的是,由于H5和小程序的环境差异,因此在实现过程中可能会遇到一些兼容性和用限制方面的问题,需要根据具体的需求和使用的地图API进行整和解决。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值