文档章节

js 百度地图 添加自定义控件

Jack088
 Jack088
发布于 2015/04/01 12:38
字数 426
阅读 31
收藏 0

// 定义一个控件类,即function
           function ZoomControl(){
               // 默认停靠位置和偏移量
               this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT;
               this.defaultOffset = new BMap.Size(10, 10);
           }

// 通过JavaScript的prototype属性继承于BMap.Control
           ZoomControl.prototype = new BMap.Control();

// 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回
// 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中
           ZoomControl.prototype.initialize = function(map){
               // 创建一个DOM元素
               var div = document.createElement("div");
               // 添加文字说明
               div.appendChild(document.createTextNode("设置地址"));
               // 设置样式
               div.style.marginLeft = "54%";
               div.style.marginTop = "58%";
               div.style.cursor = "pointer";
               div.style.border = "1px solid gray";
               div.style.backgroundColor = "red";
               // 绑定事件,点击一次放大两级
               div.onclick = function(e){
                   alert('当前地图中心点:' + map.getCenter().lng + ',' + map.getCenter().lat);
                   mcenter(map.getCenter());
                   //$state.go('getPosition');
                   //map.setZoom(map.getZoom() + 2);
               }
               // 添加DOM元素到地图中
               map.getContainer().appendChild(div);

               // 创建一个DOM元素
               var div2 = document.createElement("div");
               // 设置样式
               div2.style.marginLeft = "45%";
               div2.style.marginTop = "65%";
               div2.style.height = "41px";
               div2.style.width = "34px";
               div2.style.cursor = "pointer";
               div2.style.position = "absolute";
               div2.style.backgroundImage = "url(images/dingwei2.png)";
               div2.onclick = function(e){
                   alert('当前地图中心点:' + map.getCenter().lng + ',' + map.getCenter().lat);
                   mcenter(map.getCenter());
                   //$state.go('getPosition');
                   //map.setZoom(map.getZoom() + 2);
               }
               // 添加DOM元素到地图中
               map.getContainer().appendChild(div2);

               // 将DOM元素返回
               return div;
           }
// 创建控件
           var myZoomCtrl = new ZoomControl();
// 添加到地图当中
           map.addControl(myZoomCtrl);

           //alert('当前地图中心点:' + map.getCenter().lng + ',' + map.getCenter().lat);

           map.addEventListener("dragend",function(e){
               //var pt = map.getBounds().getCenter();
               //window.status = "LON:" + pt.lng + " LAT:" + pt.lat;
               //alert(window.status);
              // alert('当前地图中心点:' + map.getCenter().lng + ',' + map.getCenter().lat);

               mcenter(map.getCenter());
           });

           function mcenter(certer){
               Ds.set('Latitude',certer.lat);
               Ds.set('Longitude',certer.lng);
               // 百度地图API功能
               var point = new BMap.Point(certer.lng,certer.lat);//new BMap.Point(116.331398,39.897445);
               var gc = new BMap.Geocoder();
               gc.getLocation(point, function(rs){
                   var addComp = rs.addressComponents;
                   alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
                   $scope.cpoint = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
                   Ds.set('dinnerAddress',$scope.cpoint);
               });
           }

© 著作权归作者所有

共有 人打赏支持
Jack088
粉丝 41
博文 405
码字总数 59469
作品 0
程序员
Essential Studio Enterprise Edition 2015 v3正式发布[附下

使用Essential Studio企业版,开发者可以创建丰富的应用程序,并轻松地集成商业智能分析和报告解决方案。Essential Studio企业版是世界级的软件组件,它使得开发者能在最苛刻的环境下开发出高...

Miss_Hello_World
2015/11/02
0
0
记录一下自己设计的HappyTime软件

软件开发设计思路:是分清需要功能点,然后分成各个模块,进行模块开发,最后集成到一个框架里面 技术要点: 框架采用环信SDK 数据关系映射采用ActiveAndroid 3. 数据下载采用Volley实现异步...

鹭明
06/26
0
0
FineReport中如何用JavaScript自定义地图标签

在日常使用地图过程中,通常会遇到地图标签,提示点等显示不满足我们的需求,需要进行JavaScript代码编写。 例如:在使用地图过程中,会发现很多地名显示的位置偏离。这时候就需要使用JavaS...

雄霸天下啦
06/26
0
0
百度地图API显示多个标注点并添加百度样式检索窗口

<%@ page language="java" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"......

zhwj407906450
2014/12/31
0
0
报表开发工具中开放的部分图表js接口列表

1.. 描述 报表开发工具FineReport 8.0版本中开放了部分图表js接口,在具体应用的过程中很多人都不知道这些接口到底有什么作用,该怎么应用,所以根据我自己的应用在下面归纳了这些新开放js接...

九月你好123
2015/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一步步编写自己的PHP爬取代理IP项目(二)

这一章节我们正式开展我们的爬虫项目,首先我们先要知道哪个网站能获取到免费代理IP,目前比较火的有西刺代理,快代理等,这里我们拿西刺代理作为例子。 这里就是一个个免费的IP地址以及各自...

NateHuang
30分钟前
1
0
11-利用思维导图梳理JavaSE-Java的反射机制

11-利用思维导图梳理JavaSE-Java的反射机制 主要内容 1.反射与Class类 1.1.反射概念 1.2.Class类 1.3.实例化Class类 1.4.反射的作用 1.5.Class对象的作用 2.反射的深入应用 2.1.调用无参的成...

飞鱼说编程
36分钟前
1
0
How to serve the world from home computer?

最近在开发web应用,很想知道,通过公网来访问,效果会不会好。今天在做家务的时候,突然想到,如果我自己写一个ip转发的工具,不就可以实现了吗?但是转过头一想,这么大众的想法,怎么会没...

pearma
52分钟前
1
0
今天在码云遇到一个很有意思的人 for Per.js

今天在码云遇到一个很有意思的人,他在我的Per.js项目下面评论了一句,大意为“你试试这句代码,看看速度到底是你快还是Vue快”【当然,这个评论被我手残不小心删掉了...】。 然后我就试了,...

Skyogo
今天
50
0
Java -------- 首字母相关排序总结

Java 字符串数组首字母排序 字符串数组按首字母排序:(区分大小写) String[] strings = new String[]{"ba","aa","CC","Ba","DD","ee","dd"}; Arrays.sort(strings); for (int i ...

切切歆语
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部