如何实现在H5里调起高德地图APP?(上)

这一篇文章,将讲述如何在H5里调起高德地图APP,并展示兴趣点。适合于展示某个餐馆,商场等,让用户自行选择前往方式。

场景一、在高德地图上展示Marker点或者POI标记

在一些基于位置分享的应用开发中,我们会在地图上标记marker点或者使用地图上的poi点,这时候如果能在高德地图客户端展示这个位置的话,用户就可以使用导航或者路线规划等功能前往指定地点,起到引导用户前往的作用,因此JSAPI提供的调起高德地图并显示点标记或者poi点的功能,以满足此类需求。

点标记位置展示

通常我们都使用Marker点来进行位置的标定,所以JSAPI在Marker类中提供了markOnAMAP的方法,这个方法接受一个JSON对象参数,参数对象包含position和name两个属性,调起之后将在高德地图客户端或者Web站点标记显示对应的Marker点,基于marker点的展示,用户可以接着使用周边搜索、路线规划和导航等功能。扫描右侧二维码,点击地图中见的marker点查看移动端调起来效果。

 

核心代码:

var marker = new AMap.Marker({
        position:[116.473188,39.993253]
    });

    marker.markOnAMAP({
        position: marker.getPosition(),
        name:'首开广场'//name属性在移动端有效
    })

 

全部源代码,可复制后直接使用:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>点标记</title>
    <style>
        body,#mapContainer{
            margin:0;
            height:100%;
            width:100%;
            font-size:12px;
        }
    </style>
    <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main.css?v=1.0?v=1.0" />
    <script src="http://cache.amap.com/lbs/static/es5.min.js"></script>
    <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=您申请的key值&plugin=AMap.ToolBar"></script>
    <script>
        function init() {
            map = new AMap.Map("mapContainer", {
                zoom: 18,
                center:[116.473188,39.993253]
            });
            marker = new AMap.Marker({
                map:map,
                position:[116.473188,39.993253]
            })
            marker.setLabel({
                offset: new AMap.Pixel(20, 20),//修改label相对于maker的位置
                content: "点击Marker打开高德地图"
            });
            marker.on('click',function(e){
                marker.markOnAMAP({
                    name:'首开广场',
                    position:marker.getPosition()
                })
            })
            map.addControl(new AMap.ToolBar());
            if(AMap.UA.mobile){
                document.getElementById('button_group').style.display='none';
            }
        }
    </script>
</head>
<body onload="init()">
    <div id="mapContainer" ></div>
    <div class="button-group" id='button_group' style='top:15px;bottom:inherit'>
        <img src="http://a.amap.com/lbs/static/img/markonapp.png" style='width:120px;height:120px'>
        <div class='button' style='text-align: center'>手机扫码打开demo</div>
    </div>
</body>
</html>

 

---------------------------------------------------------------------------------------------------------------

即日起至 2016/10/31 止,凡注册成为高德开发者的新用户,即可获赠 1 张阿里云优惠券,可享受最低 6 折购买阿里云产品。数量有限,发完即止。详情点击: http://lbsbbs.amap.com/forum.php?mod=viewthread&tid=20143

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniapp是一款基于Vue.js的跨平台应用框架,支持同时开发iOS、Android和H5等多个平台的应用程序。而高德地图App是一款地图应用程序,提供了地图、导航、定位等功能。本文将介绍如何在uniapp中使用高德地图App完成车辆轨迹动画。 1.安装高德地图插件 在uniapp项目中使用高德地图,需要先安装uni-app插件,可以在插件市场中搜索“高德地图插件”进行安装。 安装完成后,在项目中的manifest.json中添加以下配置: ``` "permissions":{ "scope.userLocation": { "desc": "获取当前位置信息及地图功能" } }, "sitemapLocation":"sitemap.json", "app-plus": { "modules": { "AMap": "uni-AMap", "AMapUI": "uni-AMapUI" }, "appid": "" } ``` 2.创建地图 在页面中创建地图组件,代码如下: ``` <template> <view class="map"> <map :longitude="longitude" :latitude="latitude" :markers="markers"></map> </view> </template> <script> export default { data() { return { longitude: 116.397428, latitude: 39.90923, markers: [{ id: 1, longitude: 116.397428, latitude: 39.90923, iconPath: '/static/location.png', width: 50, height: 50, title: '当前位置' }] } } } </script> ``` 3.添加动画 在页面中添加动画,代码如下: ``` <template> <view class="map"> <map :longitude="longitude" :latitude="latitude" :markers="markers"></map> <view class="button" @click="startAnimation">开始动画</view> </view> </template> <script> export default { data() { return { longitude: 116.397428, latitude: 39.90923, markers: [{ id: 1, longitude: 116.397428, latitude: 39.90923, iconPath: '/static/location.png', width: 50, height: 50, title: '当前位置' }], animation: null } }, methods:{ startAnimation(){ const animation = uni.createAnimation({ duration: 10000, timingFunction: 'linear' }) animation.translate(100, 100).step() this.markers[0].animation = animation.export() this.animation = animation } } } </script> ``` 4.运行程序 在HBuilder X中运行程序,点击“开始动画”按钮即可看到车辆轨迹动画。 以上就是在uniapp中使用高德地图App完成车辆轨迹动画的步骤。通过使用高德地图插件和uniapp框架,我们可以很方便地实现地图功能和动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值