echart map怎么让地图图层出现悬浮阴影

 我来答
尼船轻w
2017-04-18 · TA获得超过429个赞
知道答主
回答量:330
采纳率:0%
帮助的人:64.2万
展开全部
先回答后一个问题,好像现在LatLng不再提供distanceFrom方法了。不过这个可以自己用公式算出来:d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB—λA)]}其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。前一个问题:根据文档,要创建自定义叠加层,请执行以下操作:将自定义对象的prototype设置为google.maps.OverlayView()的新实例。这可以有效地实现叠加层类的“子类化”。为自定义叠加层创建构造函数,并将该构造函数中的所有初始化参数都设置为自定义属性。在原型中实现onAdd()方法,以将叠加层附加到地图上。当地图准备好附加叠加层后,系统将会调用OverlayView.onAdd()。在原型中实现draw()方法,以处理对象的视觉显示。同样,在对象首次显示后,系统将会调用OverlayView.draw()。您还应当实现onRemove()方法,以清理在叠加层中添加的所有元素。具体例子(我写的,加了点注释):NameOverlay.prototype=newgoogle.maps.OverlayView();//扩展OverlayViewfunctioninitialize(){varmap=newgoogle.maps.Map(document.getElementById("map_canvas"),mapOptions);varnameView=newNameOverlay(point,name,map);//新建一个NameOverlay图层并加入当前map,同时传入参数point与name。}functionNameOverlay(point,name,map){//初始化,记下所有参数(point,name,map)this.point_=point;this.name_=name;this.map_=map;this.div_=null;//定义一个div,在onAdd中将插入当前页面中。this.setMap(map);//这里估计与原来的addOverlay类似}NameOverlay.prototype.onAdd=function(){//创建图层的DIVvardiv=document.createElement('DIV');div.style.borderStyle="none";div.style.borderWidth="0px";div.style.position="absolute";//这里是真正的内容,例子中仅仅设置一个span元素,显示name文字vartext=document.createElement("span");text.nodeValue=name_;div.appendChild(text);this.div_=div;//加到当前map中varpanes=this.getPanes();panes.overlayImage.appendChild(div);}NameOverlay.prototype.draw=function(){//用projection将经纬度换算为xy坐标varoverlayProjection=this.getProjection();varcenter=overlayProjection.fromLatLngToDivPixel(this.point_);//设置图层的大小与位置vardiv=this.div_;div.style.left=center.x+'px';div.style.top=center.y+'px';div.style.width='100px';div.style.height='10px';}NameOverlay.prototype.onRemove=function(){this.div_.parentNode.removeChild(this.div_);this.div_=null;}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式