实现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 相关文章推荐
新闻内页-JS分页
Jun 07 Javascript
在次封装easyui-Dialog插件实现代码
Nov 14 Javascript
详解JavaScript中的every()方法
Jun 08 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
Jun 12 Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 Javascript
jQuery基于ajax操作json数据简单示例
Jan 05 Javascript
vue注册组件的几种方式总结
Mar 08 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
vue Element左侧无限级菜单实现
Jun 10 Javascript
js实现简单选项卡制作
Aug 05 Javascript
解决Antd Table组件表头不对齐的问题
Oct 27 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格式化日期和时间格式化示例分享
2014/02/24 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
python读取二进制mnist实例详解
2017/05/31 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
Python中偏函数用法示例
2018/06/07 Python
python多任务之协程的使用详解
2019/08/26 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
如何将json数据转换为python数据
2020/09/04 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
通过HTML5规范搞定i、em、b、strong元素的区别
2017/03/04 HTML / CSS
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
Ajax的优点和缺点
2014/11/21 面试题
在校硕士自我鉴定
2014/01/23 职场文书
《花木兰》教学反思
2014/04/09 职场文书
初一新生军训方案
2014/05/22 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
银行给客户的感谢信
2015/01/23 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL