高德地图实现多点标注功能

高德地图实现多点标注功能

大家好,又见面了,我是你们的朋友全栈君。

<!DOCTYPE html>
<html>
<head>
    <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>
    <script src="/static/jquery/jquery-1.11.1.min.js"></script>
    <link href="/static/materialize/css/materialize.min.css" rel="stylesheet">
    <script src="/static/materialize/js/materialize.min.js"></script>
    <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
    <script src="http://webapi.amap.com/maps?v=1.3&key=6d116d4252d7f7ce90a808ace0812248"></script>   <!--引入高德地图api,key为你自己获取的key值-->
    <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
    <style> .amap-logo{ display: none; /*隐藏左下角地图logo*/ } .amap-copyright{ display: none!important; } </style>
</head>
<body>
<div id="container" style="width:100%;height:100%"></div>
<div id="tip"></div>
<script> var map = new AMap.Map('container', {}); map.plugin(["AMap.ToolBar"], function() { 
     map.addControl(new AMap.ToolBar()); }); var infoWindow = new AMap.InfoWindow({}); //创建信息窗口对象 ps.高德目前不支持多信息窗口,即使创建多个窗口对象,也只会显示一个 var lnglats= [["116.4123","39.906422"],["116.4352","39.906933"],["116.445435","39.9054345"]]; var data = [{ 
   "id":1,"name":"我是第1个点","type":1},{ 
   "id":2,"name":"我是第2个点","type":3},{ 
   "id":3,"name":"我是第3个点","type":7}]; for(var i= 0;i<lnglats.length;i++){ var marker=new AMap.Marker({ position:lnglats[i], //采用默认样式,无需自定义 map:map }); content = []; content.push('ID:'+data[i].id); content.push('名称:'+data[i].name); marker.content = content; marker.title = data[i].id+"."+data[i].name; //标记点的title // if(data[i].id==2){ //默认打开第二个点的信息窗口 infoWindow.setContent(content.join("<br/>")); infoWindow.open(map,lnglats[i]); // } marker.on('dblclick',openAmap); //这里采用调到新页面方式导航,也可直接定义带导航功能的信息窗体,请参考http://lbs.amap.com/api/javascript-api/example/infowindow/infowindow-has-search-function/ //给Marker绑定单击事件 marker.on('click', markerClick); } map.setFitView(); //跳至地图当中导航 function openAmap(e){ 
     e.target.markOnAMAP({ name:e.target.title, position:e.target.getPosition() }) } //信息窗口 function markerClick(e){ 
     infoWindow.setContent(e.target.content.join('<br/>')); infoWindow.open(map, e.target.getPosition()); } //地图加载完成事件 map.on('complete', function() { 
     Materialize.toast('地图图块加载完毕!', 4000) // document.getElementById('tip').innerHTML = "地图图块加载完毕!当前地图中心点为:" + data[0].name; }); </script>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143467.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何解决数据库查询慢的问题_炖锅怎么那么慢熟

    如何解决数据库查询慢的问题_炖锅怎么那么慢熟一条慢查询会造成什么后果?年轻时,我一直觉得不就是返回数据会慢一些么,用户体验变差?其实远远不止,我经历过几次`线上事故`,有一次就是由一条SQL慢查询导致的。

    2022年10月14日
    0
  • Do not use lsnrctl and sqlplus as SYSDBA in RAC

    Do not use lsnrctl and sqlplus as SYSDBA in RAC

    2022年3月12日
    43
  • HTML/CSS 常见面试题汇总

    HTML/CSS 常见面试题汇总HTML面试题1、<image>标签上title属性与alt属性的区别是什么?alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明的。且长度必须少于100个英文字符或者用户必须保证替换文字尽可能的短。这包括那些使用本来就不支持图像显示或者图像显示被关闭的浏览器的用户,视觉障碍的用户和使用屏幕阅读器的用户等。title属性为设置该属性的元素提供建议性的信息。使用ti…

    2022年5月31日
    31
  • snmp trap报文格式_linux接收snmptrap

    snmp trap报文格式_linux接收snmptrap转载地址:https://blog.csdn.net/eric_sunah/article/details/19557683SNMP的报文格式SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。在实际网络传输环境下,S…

    2022年8月21日
    4
  • Linux下route命令用法

    Linux下route命令用法显示现在所有路由#routeroot@ubuntu:~#routeKernelIProutingtableDestination  Gateway    Genmask    FlagsMetricRef  UseIface10.147.9.0   *       255.255.255.0 U  1

    2022年7月18日
    13
  • Eureka 的 Application Client client的执行演示样例

    Eureka 的 Application Client client的执行演示样例

    2021年12月16日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号