实现51Map地图接口(示例代码)


Posted in Javascript onNovember 22, 2013

51Map免费提供了地图接口以下是调用接口并且实现地理位置标注,存储,修改和回显功能。
51地图网址:http://api.51ditu.com/

在网页中引入

<script type="text/javascript" src="http://api.51ditu.com/js/maps.js"></script> 

在地图上标注:
  //地图标注
 $(document).ready(function(){
  var ico=new LTIcon("<c:url value='/images/manPosition.gif'/>",[24,24],[12,12]);
  var map=new LTMaps("mapdiv");//地图对象
  var controlB;  //标记控件
  map.centerAndZoom("tianjin",5);//天津
  map.handleMouseScroll();//鼠标滚轮
  var controlZoom = new LTStandMapControl();//缩放控件
  map.addControl( controlZoom );
  controlB = new LTMarkControl();//添加标注控件并把事件绑定到按钮
  controlB.setVisible(false);
  document.getElementById("addPosition").onclick=function (){controlB.btnClick()};
  map.addControl( controlB );
  LTEvent.addListener( controlB,"mouseup",function(){getPoi(controlB)} );
 })

 //添加标注时执行此函数
 function getPoi(controlB){
  var poi = controlB.getMarkControlPoint();
  $("#x").val(poi.getLongitude()); //x,y为input标签id通过它传入后台储存位置
  $("#y").val(poi.getLatitude());
 }

<div id="mapdiv" style="width: 300px; height: 200px; position:static;">
        <div align="center" style="margin: 12px;">
        <a href="http://api.51ditu.com/docs/mapsapi/help.html" target="_blank"
         style="color: #D01E14; font-weight: bolder; font-size: 12px;">看不到地图请点这里</a>
        </div>
       </div>

在读图上回显标注:
 //地图回显
 $(document).ready(function(){
  map("mapdiv");
 })
 //地图
 function map(div){
  var map=new LTMaps(div);//地图对象
  var marker=new LTMarker(new LTPoint($("#x").val(),$("#y").val()));//创建标注
   map.handleMouseScroll();//鼠标滚轮缩放
     map.centerAndZoom(new LTPoint($("#x").val(),$("#y").val()),5); //以坐标为中心显示地图
  map.addOverLay(marker) //添加标注到地图上
 }

修改地图上的标注:
 //地图回显
 $(document).ready(function(){
  map("mapdiv");
 })
 //地图
 function map(div){
  var map=new LTMaps(div);//地图对象
  var marker=new LTMarker(new LTPoint($("#x").val(),$("#y").val()));//创建标注
   map.handleMouseScroll();//鼠标滚轮缩放
     map.centerAndZoom(new LTPoint($("#x").val(),$("#y").val()),5); //以坐标为中心显示地图
  map.addOverLay(marker) //添加标注到地图上
  var controlZoom = new LTStandMapControl();
  map.addControl( controlZoom );
  //添加标注控件并把事件绑定到按钮
  var controlB = new LTMarkControl();//标记控件
  controlB.setVisible(false);
  document.getElementById("addPosition").onclick=function (){map.removeOverLay( marker,true);controlB.btnClick()};
  map.addControl( controlB );
  LTEvent.addListener( controlB,"mouseup",function(){getPoi(controlB)} );
 }
 //添加标注时执行此函数
 function getPoi(controlB){
  var poi = controlB.getMarkControlPoint();
  $("#x").val(poi.getLongitude());
  $("#y").val(poi.getLatitude());
 }

其他参数设置:
可以自定义标注图标样式
var ico=new LTIcon("<c:url value='/images/manPosition.gif'/>",[24,24],[12,12]);//创建图标对象
var marker=new LTMarker(new LTPoint($("#x").val(),$("#y").val()),ico);//创建标注
//当鼠标移动到标注上可以显示标注内容
LTEvent.addListener( marker , "mouseover" , function(){this.openInfoWinHtml('标注内容')});
Javascript 相关文章推荐
JQuery插件Style定制化方法的分析与比较
May 03 Javascript
jQuery表格排序组件-tablesorter使用示例
May 26 Javascript
jQuery遍历对象、数组、集合实例
Nov 08 Javascript
javascript文本框内输入文字倒计数的方法
Feb 24 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
Jul 30 Javascript
js实现超酷的照片墙展示效果图附源码下载
Oct 08 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
利用JavaScript判断浏览器类型及版本
Aug 23 Javascript
webpack3之loader全解析
Oct 26 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
vue elementUI tree树形控件获取父节点ID的实例
Sep 12 Javascript
Javascript基于OOP实实现探测器功能代码实例
Aug 26 Javascript
怎么选择Javascript框架(Javascript Framework)
Nov 22 #Javascript
jquery根据name属性查找的小例子
Nov 21 #Javascript
js 走马灯简单实例
Nov 21 #Javascript
js获取客户端外网ip的简单实例
Nov 21 #Javascript
jquery实现简单易懂的图片展示小例子
Nov 21 #Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
Nov 21 #Javascript
利用jq让你的div居中的好方法分享
Nov 21 #Javascript
You might like
基于php无限分类的深入理解
2013/06/02 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
python实现换位加密算法的示例
2018/10/14 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
浅析python 字典嵌套
2020/09/29 Python
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
个人简历自我评价八例
2013/10/31 职场文书
小区消防演习方案
2014/02/21 职场文书
法律进企业活动方案
2014/03/04 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
运动会宣传语
2015/07/13 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang