-
百度地图折线覆盖物变颜色0
您好!我现在需要动态改变百度地图折线的颜色,请问有什么解决方案吗?因为根据地图api,不能给折线设置一个例如id的属性,然后根据这个id去定位到该折线。如果有人有好的方案,麻烦您指教下,谢谢!2014年1月02日 22:11
2个答案 按时间排序 按投票排序
-
采纳的答案
有多个你用个数组存起来不就好了么
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;} </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的AK"></script> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <title>改变覆盖物状态</title> </head> <body> <div style="postion:absoulte;left:0;top:0;"><a href="javascript:change();">ChangeColor</a></div> <div id="allmap"> </div> </body> </html> <script type="text/javascript"> // 覆盖物全部放入自定义map,以id作为Key var oVMap = new Map(); var map = new BMap.Map("allmap"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 13); var polyline = new BMap.Polyline([ new BMap.Point(116.399, 39.910), new BMap.Point(116.405, 39.920), new BMap.Point(116.425, 39.900) ], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}); map.addOverlay(polyline); oVMap.put('polyline-1',polyline); var polyline2 = new BMap.Polyline([ new BMap.Point(116.499, 39.910), new BMap.Point(116.505, 39.920), new BMap.Point(116.525, 39.900) ], {strokeColor:"red", strokeWeight:6, strokeOpacity:0.5, id:'my_polyine'}); map.addOverlay(polyline2); oVMap.put('polyline-2',polyline2); var circle = new BMap.Circle(new BMap.Point(116.433, 39.915),500); map.addOverlay(circle); oVMap.put('circle-1',circle); // 改变覆盖物状态 function change(){ var temp; // 第一个折线颜色改为绿色 temp = oVMap.get('polyline-1'); if(temp){ temp.setStrokeColor('green'); } // 第二个折线颜色改为黄色 temp = oVMap.get('polyline-2'); if(temp){ temp.setStrokeColor('yellow'); } // 改变圆的半径 temp = oVMap.get('circle-1'); if(temp){ temp.setRadius(700); } } // 自定义map function Map(){ this.data = new Array(); // 添加 this.put = function(_key,_value){ if(this.containsKey(_key)){ this.remove(_key); } this.data.push({key:_key,value:_value}); }; // 取值 this.get = function(_key){ var rtn = null; try { for(var i=0;i<this.data.length;i++){ if(this.data[i].key==_key){ rtn = this.data[i].value; break; } } } catch (e) { rtn = null; } return rtn; }; // 删除 this.remove = function(_key){ var btn = false; try { for(var i=0;i<this.data.length;i++){ if(this.data[i].key == _key){ this.data.splice(i,1); return true; } } } catch (e) { btn = false; } return btn; }; // 判断是否存在key this.containsKey = function(_key) { var bln = false; try { for (i = 0; i < this.data.length; i++) { if (this.data[i].key == _key) { bln = true; break; } } } catch (e) { bln = false; } return bln; } // 清空 this.clear = function(){ this.data = new Array(); } } </script>
2014年1月03日 15:04
相关推荐
百度地图的网页,调用百度地图api的javaScript,这里得创建自己的工单,申请自己的密钥key(申请的是浏览器端),通过输入经度纬度、线宽、线的颜色、线的透明度,实现百度地图的标点,折线,画图(注意:这里标点输入...
折线覆盖物用于表示路径或路线。我们可以使用`BMap.Polyline`类来创建折线。这个类需要一个包含多个点的数组作为参数,每个点都是`BMap.Point`对象。示例代码如下: ```javascript var points = [new BMap.Point...
在使用百度地图JavaScript API进行开发时,几何图形的绘制、保存到数据库以及后续的展示是常见的需求。这个项目涉及到的主要知识点包括地图API的使用、几何对象的创建与操作、数据交互以及前端展示技术。 首先,...
VueBaiduMap是一款专为Vue2框架设计的百度地图组件库,它允许开发者在Vue应用中无缝集成百度地图的功能,提供了丰富的地图操作和自定义功能。这个组件库旨在简化与百度地图API的交互,使开发者能够更加高效地构建...
这涉及到使用百度地图API来实现一系列功能,包括地图展示、标注管理、覆盖物创建以及交互式控件的添加。下面,让我们逐一了解这些知识点。 首先,百度地图API是百度提供的一种服务,它允许开发者在其网站或应用中...
3. **覆盖物**:除了标注,还可以添加各种形状和多边形,如圆、矩形、折线等,用于表示区域或路径。 4. **地理编码与反向地理编码**:这些功能将地址转换为坐标(反之亦然),使得开发者可以轻松地根据地址在地图上...
4. 覆盖物(BMap.Polygon, BMap.Polyline, BMap.Circle等):用于绘制多边形、折线、圆等图形。 5. 地理编码(Geocoding):将地址转换为坐标,反之亦然,是地图应用的基础。 6. 位置检索(PlaceSearch):提供地点...
在百度地图API中,我们可以创建不同类型的覆盖物,如Marker(标记)、InfoWindow(信息窗口)、Polygon(多边形)、Polyline(折线)等。通过设置覆盖物的位置、样式、事件监听等属性,可以丰富地图的表现力。例如,...
8. **覆盖物与图标**:百度地图API支持自定义覆盖物,如圆、多边形、折线等,以及自定义图标,让地图展示更个性化。 9. **地理编码与反地理编码**:通过`BMap.Geocoder`,可以将地址转换为坐标(地理编码),或将...
- **Polyline**:折线覆盖物,用于绘制路径或多段线。 - **Polygon**:多边形覆盖物,用于绘制闭合区域。 - **Circle**:圆形覆盖物,用于绘制圆形区域。 - **InfoWindow**:信息窗口,当鼠标悬停在标记上时弹出,...
除了标记,还有多种覆盖物类型,如折线(Polyline)、多边形(Polygon)、圆(Circle)等,可以用来绘制复杂的地理形状。 9. **地图动画效果**: 通过API提供的动画接口,可以实现标记平滑移动、旋转等效果,增加...
- **覆盖物**:可以在地图上添加标记、信息窗口、多边形、圆等覆盖物,用于标注特定位置或区域。 - **地图事件**:监听用户在地图上的交互行为,如点击、拖拽等,实现交互功能。 - **地图图层**:支持卫星图、...
在本文中,我们将深入探讨如何结合使用百度地图API与ECharts来实现动态的、交互式的Web地图应用。百度地图API是百度提供的一项服务,允许开发者将地图功能集成到自己的网站或应用中,而ECharts则是一款强大的数据...
开发者可以通过SDK提供的API接口,实现自定义地图服务,比如自定义地图瓦片、添加覆盖物动画效果等,增强地图的可玩性和实用性。 9. **兼容性和优化**: 百度地图SDK v3.7.3考虑了多种Android设备的兼容性,覆盖...
3. **覆盖物(Overlays)**:覆盖物包括多边形、圆、折线等,可以用于区域划分、路径规划等场景。uni-app提供了丰富的API来创建和管理这些覆盖物。 4. **地图事件**:监听地图的点击、缩放、拖动等事件,可以实现...
百度地图API提供了地图、标注、覆盖物、地理编码、轨迹等多种服务,与ECharts结合,可以在地图上绘制出数据点,或者根据数据生成热力图,展示特定区域的数据密度。这对于地理分布广泛的大数据项目来说,是一种非常...