实现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 相关文章推荐
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
JavaScript中检测变量是否存在遇到的一些问题
Nov 11 Javascript
jQuery动态添加
Apr 07 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
设置jquery UI 控件的大小方法
Dec 12 Javascript
jquery实现(textarea)placeholder自动换行
Dec 22 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
史上最全JavaScript数组去重的十种方法(推荐)
Aug 17 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
JS判断浏览器类型与操作系统的方法分析
Apr 30 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
Jun 17 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
php实现的验证码文件类实例
2015/06/18 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
超全面的javascript中变量命名规则
2017/02/09 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
vue生命周期实例小结
2018/08/15 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
运动会稿件300字
2014/02/14 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL