我正在开发一个用于交通分配的QGIS插件(版本2.8.1),我想在其中显示每个时间步的模拟结果。现在我正在使用时间管理器插件,但是当我的层有数十万个属性时,它会变得非常慢。在我的例子中,我确切地知道我想在每个时间步显示什么功能ID,所以我想让它更快会很容易。
下面是我尝试过的(对不起,我的python编程方式,但我对这种语言还不熟悉):在循环的每个时间步,我设置要显示的属性索引的有序列表(在我的例子中,它们始终是有序的)。
# TEST 1 -----------------------------------
for step in time_steps:
index
目前,我正在尝试更改用户关注的矢量层的特定功能的图标。我将每个要素添加到地图中,如下所示:
var point = new OpenLayers.Geometry.Point(pt.lon, pt.lat);
var markerStyle = OpenLayers.Util.extend(OpenLayers.Feature.Vector.style['default'], {
externalGraphic: iconURL
});
var marker = new OpenLayers.Feature.Vector(point, attributes, mark
我创建了一个函数,点击就会在地图上放置一个标记,并将其保存到本地存储。在标记弹出窗口中,它显示了标记位置和一个删除按钮。
如何才能使delete按钮获得实际标记位置,并与本地存储中存储的位置进行比较,如果找到相等的值,则将其从本地存储中删除?
使用以下命令:
for ( var i = 0, len = localStorage.length; i < len; ++i ) {
console.log( localStorage.getItem( localStorage.key( i ) ) );
}
我得到了本地存储中的内容,我注意到标记是用"\“保存的,有什么方法可以改
我的地图中有相当多的瓦片层,它们都被组织到不同的组中(有时它们甚至是嵌套的)。 我看到在API中有一个getLayer()方法来检索矢量要素所属的图层,还有一个getLayerGroup()来检索与地图相关联的所有组。 然而,我找不到任何关于获取一个层关联的layerGroup的东西。 假设我有这样的情况: var myGroup = new LayerGroup();
var myLayer = new TileLayer();
myGroup.getLayers().insertAt(0, myLayer); 有没有办法从myLayer获取myGroup
我正在尝试在我的地图中创建一个工具来选择我想要应用于特定图层的颜色。我尝试随机更改颜色,如以下代码所示:
function getRandomColor() {
var letters = '0123456789ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
我的leaflet项目上有一些用户绘制的形状。当单击该形状时,另一个元素(如侧边栏)将打印出统计数据。如果我单击地图图层,该元素将被重置。
我尝试使用map.on('click')事件,但它侦听所有用户绘制的图层以及地图层。我只想让事件监听地图层。
map.on('click', onBackgroundClick);
function onBackgroundClick(e)
{
let type = e.layerType;
if (type !== 'polygon' && type !== 'p
我正在将具有各种不透明度的多个图层添加到我的叶子贴图对象中,如下所示:
var TopoLayer = L.esri.dynamicMapLayer("https://gis.in.gov/arcgis/rest/services/Imagery_Basemap/MapServer", {
opacity: 0.8,
// Tell the map to use a loading control
useCors: false
我正在尝试设计LineString的样式,但它似乎不起作用。这是我的代码:
function connectStationFeatures(feat1, feat2){
var lineLayer = getLinesLayer();
var point1 = feat1.geometry;
var point2 = feat2.geometry;
var style = new OpenLayers.StyleMap({
'fillColor':"#FF8C00",
'strokeWidt