05 mapABC示例 leo
来源:互联网 发布:大数据 标准 编辑:程序博客网 时间:2024/05/03 22:35
//非常全面的mapabcdemo,所有的都有 http://code.mapabc.com/class_javascript.html<%@ Page Language="C#" AutoEventWireup="true" CodeFile="dituABC.aspx.cs" Inherits="Test_dituABC" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <script type="text/javascript" src="../js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="http://apis.mapabc.com/webapi/auth.json?t=javascriptmap&v=3.1.1&key=b0a7db0b3a30f944a21c3682064dc70ef5b738b062f6479a5eca39725798b1ee300b"></script></head><body> <input type="button" id="temp" disabled="disabled"/> <input type="button" id="cancelDra" onclick="cancelDraw()" value="清除区域" /> <input type="button" id="startDra" onclick="startDraw();" value="开始画区域" /> <input type="button" id="btnGetAreaName" onclick="getAreaName();" value="获取地图上的覆盖物名称" /> <span style="color: #FF4500" id="spTip"></span> <a href="#this" onclick="stoplistener()">关闭监听</a> <a href="#this" onclick="startlistener()">重启监听</a> <div id="map_canvas" style="width: 800px; height: 600px"></div> <script type="text/javascript"> var mapABC; //地图 var markerABC; //点 var infoWindowABC = null; //infoWindow var polyLineABC = null; var arrPolygonPoints = []; //多边形点数组 var arrPolylinePoints = []; //折线数组 var polygonABC = null; //多边形 var polylineABC = null; //折线 var listenerABC = null; var mouseToolABC; //鼠标工具模式 var startLng = 117.18993830481; var startLat = 34.257423330251; var offsetX = -70; var offsetY = -60; var defaultIconPath = "/images/defaut/veh_ya.png"; var smallIconPath = "/images/gongzuo.png"; $(function() { initializeMapABC(); AddMarkPolylinePolygonInfowindow(); //加点 点监听弹出 infoWindow 02 listenerABC = mapABC.bind(mapABC, "click", listenerEvent); //03 监听click事件(加点、加线) //startDraw(); //04 绘图按钮 与AddMarkPolylinePolygonInfowindow有冲突,不可以同时使用 }); //******************* ******************** //******************* 01 地图初始化 ******************** function initializeMapABC() { var toolbar, overview, scale; var opt = { level: 13, //初始地图视野级别 center: new MMap.LngLat(parseFloat(startLng), parseFloat(startLat)), //设置地图中心点 doubleClickZoom: true, //双击放大地图 //defaultTileLayer:, //默认的底图图层 类型:MMap.TileLayer scrollwheel: true //鼠标滚轮缩放地图 }; mapABC = new MMap.Map("map_canvas", opt); mapABC.plugin(["MMap.ToolBar", "MMap.OverView", "MMap.Scale"], function() { toolbar = new MMap.ToolBar(); toolbar.autoPosition = false; //加载工具条 mapABC.addControl(toolbar); overview = new MMap.OverView(); //加载鹰眼 mapABC.addControl(overview); scale = new MMap.Scale(); //加载比例尺 mapABC.addControl(scale); }); } //02 加点 点监听弹出 infoWindow function AddMarkPolylinePolygonInfowindow() { //******************* 02 打点 ******************** var markerOpt = { id: "m", position: new MMap.LngLat(parseFloat(startLng), parseFloat(startLat)), // icon: "/images/defaut/veh_ya.png" }; markerABC = new MMap.Marker(markerOpt); mapABC.addOverlays(markerABC); //向地图添加覆盖物 mapABC.setCenter(new MMap.LngLat(parseFloat(startLng), parseFloat(startLat))); //置地图中心点经纬度,使用该方法地图将重新加载,会调整视野级别 //******************* 03 给点增加弹出框 bind click事件,增加infoWindow.open方法 ******************** var infoWidowOpt = { content: "MapABC API", offset: new MMap.Pixel(offsetX, offsetY) //MMap.Pixel(x,y) x 横向像素 y 纵向像素 }; infoWindowABC = new MMap.InfoWindow(infoWidowOpt); mapABC.bind(markerABC, 'click', function (e) { infoWindowABC.open(mapABC, e.lnglat); }); //******************* 04添加折线叠加层 ******************** var arrPolyLinePath = new Array(); //经纬度坐标数组 arrPolyLinePath.push(new MMap.LngLat(parseFloat(startLng), parseFloat(startLat))); arrPolyLinePath.push(new MMap.LngLat(parseFloat(startLng), parseFloat(startLat - 0.02))); arrPolyLinePath.push(new MMap.LngLat(parseFloat(startLng - 0.03), parseFloat(startLat - 0.02))); var polylineOpt = { id: "polyline001", strokeColor: "#FF0000", strokeOpacity: 1, strokeWeight: 5, strokeStyle: "dashed", //solid,表示实线 dashed,表示虚线 path: arrPolyLinePath }; polyLineABC = new MMap.Polyline(polylineOpt); mapABC.addOverlays(polyLineABC); //mapABC.addOverlays("polyline001"); } //03 监听click事件(加点、加线) function listenerEvent(event) { showMarker(event.lnglat); // drawPolyline(event.lnglat); drawPolygon(event.lnglat); } //0301 显示标记 function showMarker(location) { var clickedLocation = location; var mymarker = new MMap.Marker({ position: clickedLocation, icon: smallIconPath }); mapABC.addOverlays(mymarker); } //0302 显示折线 function drawPolyline(location) { if (polylineABC != null) { mapABC.clearOverlaysByType("polyline"); //这回把AddMarkPolylinePolygonInfowindow中的polyline也删除了 } arrPolylinePoints.push(location); polylineABC = new MMap.Polyline( { id: "polyline01" , path: arrPolylinePoints , strokeColor: "#F00" , strokeOpacity: 0.4 , strokeWeight: 3 , strokeStyle: "dashed" , strokeDasharray: [10, 5] }); mapABC.addOverlays(polylineABC); } //0303显示多边形 function drawPolygon(location) { if (polygonABC != null) { mapABC.clearOverlaysByType("polygon"); } arrPolygonPoints.push(location); polygonABC = new MMap.Polygon({ id: "polygon01", path: arrPolygonPoints, //map: mapABC, //没有此属性 strokeColor: '#ff0000', //fillColor: '#ff0000', strokeOpacity: 0.6, strokeWeight: 5 }); mapABC.addOverlays(polygonABC); } //05 //删除监听程序 function stoplistener() { //google.maps.event.removeListener(listenerGoogle); mapABC.unbind(mapABC,"click",listenerEvent); } //开始监听程序 function startlistener() { listenerABC = mapABC.bind(mapABC, "click", listenerEvent); } //04 绘图事件 //0401开始画区域 function startDraw() { mapInit(); //初始化绘图工具 mouseToolABC.polygon(); //指定绘图工具模式(这样就可以绘图了'marker'、'polyline'、'circle'、'rule'。。。都可以) //有以上两步就可以绘图了,下面的可以不要 stoplistener(); //删除监听程序,因为之前有监听click的程序,会与绘图工具同时调用click方法,冲掉绘图工具的方法 mapABC.clearOverlays(); $("#spTip").html("<image alt='' src='../../images/salearea.png' style='float:left;'/>鼠标按下拖动画圆,抬起结束"); } //0402取消已画区域 function cancelDraw() { $("#spTip").html(""); mapABC.clearOverlays(); mapABC.setDefaultCursor(); } //0403取消已画区域 获取当前覆盖物的长度 function getAreaName() { var tempLength = null; var curObjs = mapABC.getOverlaysByType("polygon"); //类型返回覆盖物对象 if (curObjs == undefined) { } else { for (var i = 0;i < curObjs.length; i++) { tempLength += curObjs[i].path.length + "__"; } alert("all overlay length is " + tempLength); //路径长度 } } //初始化鼠标工具 function mapInit() { mapABC.plugin("MMap.MouseTool", function () { mouseToolABC = new MMap.MouseTool(mapABC); //构造鼠标工具实例 }); } </script></body></html>
0 0
- 05 mapABC示例 leo
- 04 mapGoogle 示例 leo
- MAPABC
- mapabc
- mapabc
- 试用Mapabc
- mapabc 定位
- mapabc 定位
- mapabc定位
- MapABC地图API
- MapAbc使用体验
- MAPABC经纬度加密解密
- mapabc 国人推荐
- MapABC地图使用
- 图吧mapabc禁止放大
- 使用 MapABC 制作地图
- mapabc入门实例
- Leo简介,,,
- cocos2dx --- 按钮点击居中放大
- Android开发大牛们的博客地址(持续更新)
- 输入输出--保护继承
- 为什么我刚发表的文章变成了“待审核”,csdn有没有官方解释啊
- 模板别名
- 05 mapABC示例 leo
- 如何让hive在eclipse中修改、编译、运行
- 嵌入式程序烧写方式ISP和IAP区别
- 【LeetCode】Text Justification
- Eclipse导入Android项目,代码,注释出现乱码解决办法!
- poj 1068 Parencodings——模拟
- du的使用
- 关于android中的各种路径对应的方法
- 面试题整理001