我想用标记数组对象在OpenStreetMap上绘制多边形,目前我从数据库中选择了所有的标记(经度、纬度)值,并且在这个标记的基础上,我想绘制polyline以显示特定用户的路由。
[window.onload = function GetOSMMap() {
map = new OpenLayers.Map("dvMap");
var mapnik = new OpenLayers.Layer.OSM();
var fromProjection = new OpenLayers.Projection("EPSG:4326"); // T
我有一个OpenLayers地图,其中包含一个光栅基础图层、一个矢量图层和一个标记图层。它们显示得很好,按照正确的顺序将标记放在向量的顶部,非常好。
但是当我添加一个SelectFeature控件并将其指向矢量层时,它突然被绘制在标记层上方,尽管所有的努力都在提升标记层或设置Z索引。SelectFeature控件似乎覆盖了所有绘制顺序设置。这是设计好的吗,还是我能克服这个问题?
图层定义:
var baselayer = new OpenLayers.Layer.WMS('Norden',
'http://{myarcgisserver}/ArcGIS/service
是否可以将点添加到openlayers中现有的线串中?我有一个来自服务器的点流,当它们到达客户端时,我希望绘制它们。目前,我能看到的唯一方法是在每次有新的点进入时,从我收到的最后一个点到新的点画一条线,如下所示:
Drawer.prototype.drawPoint = function(point)
{
var line = new OpenLayers.Geometry.LineString([this.lastPoint, point]);
var lineFeature = new OpenLayers.Feature.Vector(line, null, this.s
在openlayers中有一个选择下的特征的选项。但是,我想在绘制线条时选择特征(使用shift键向下绘制-自由手绘)。在我的脚本中,我已经实现了绘制和选择选项。我可以单独绘制线条和选择(多个)特征。现在,我想把这两个合并起来。我想要选择那些被我绘制的线所触及的特征数据。有没有可用的示例?
在这里,我给出了示例代码-
//Selection property---------------------------------------
var selectControl = new OpenLayers.Control.SelectFeature(
我正在尝试使用Openlayers在单个图层上绘制单独的线段。该网站可以在上看到(点击地图,然后放大)。红色方框表示包含道路段的四叉树。绿色的线条显示为一条多段线,我希望将其视为单独的线段。
下面是我的现有函数
function DrawSegments(response){
var SegmentsData = eval( '(' + response.responseText + ')' );
var line;
var lineFeature;
if(segmentsLayer)
我已经使用OPENLAYERS 3.0在我的页面上绘制了一张地图。
在document.ready()中,我绘制了地图,并使用经度和纬度组合在地图上绘制了几个标记。
我在地图上添加了绘制线、多边形和选择功能。
我的想法是在页面加载时在地图上绘制几个标记,我想要绘制一个多边形或边界框,然后单击这些选择,我应该能够得到在这些选择中绘制的标记,可以这样做吗?
without looping, anyone please give me a suggestion to accomplish this.
我的HTML和JAVASCRIPT代码如下
var map, layer;
var draw
所以我是第一次使用dgrid,我现在正在构建我的树状网格,如下所示:
var SelectionGrid = new declare([OnDemandGrid, Selection, Keyboard]);
var myGrid = new SelectionGrid({
store: myStore,
selectionMode: "single",
style: {
我有一个OpenLayers.Feature.Vector,如下所示:
var multiPol = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon([polygonGeometry1,polygonGeometry2]));
这两个多边形在地图上表示相同的逻辑对象(“实体”),比方说云。这就是我将它们放在一个特性中的原因。我想要绘制它,以便这个多多边形(polygonGeometry1,polygonGeometry2)的每个组件在添加到图层时都使用不同的颜色绘制:
var layer = new O
我快要发疯了。我正在尝试复制OpenLayers 2.10初学者指南中的一个示例,其中我尝试显示保存在json文件中的要素,并在地图上添加要素,然后将它们保存到文件中。
var map;
function init(){
map = new OpenLayers.Map('map');
var options = {numZoomLevels: 3}
var floorplan = new OpenLayers.Layer.Image(
'Floorplan Map&
这是OpenLayers的新手,正在尝试在地图上围绕单击的原点绘制圆圈。我有这个代码-
circleLayer = new OpenLayers.Layer.Vector "Circle Search"
circle = new OpenLayers.Geometry.Polygon.createRegularPolygon(
new OpenLayers.Geometry.Point(lat,lon),
100,
30
)
console.log(circle)
feature = new OpenLayers.Feature.Vector(circle)
c
我有一个在矢量层中绘制特征的。这些功能是可选择的,并且在select上有一个弹出窗口。不幸的是,在许多情况下,这些特征是重叠的,因此可能无法选择某些特征。我想我需要做的就是修改我的select控件,这样它就会使用一个click处理程序,并在地图上搜索此时的特征。我需要写什么样的函数?以前有过这样的例子吗?
以下是要素的绘制方式:
var vector_Layer = new OpenLayers.Layer.Vector();
function GetFeaturesFromKMLString (strKML) {
var format = new OpenLayers.Format
我需要在地图上画几个大多边形。多边形必须在日期线的所有边上重复。它们应该像在谷歌地图上一样绘制。
1)请给出你的看法,当多边形越过日期线时,如何绘制多边形?我把这个问题和在中一样卖了,但是当多边形穿过日期线时,我在绘制多边形时遇到了麻烦。这就是为什么我增加了360度的经度-它是正确的吗?
for (var i = 1; i < polygonPoints.length; i++) {
var dY = polygonPoints[i][1] - polygonPoints[i-1][1];
if(Math.abs(dY) > 180)
我是Openlayers的新手,我正在尝试使用gdal2tiles生成的平铺图像的TMS layer。像平移/缩放这样的基本功能运行良好,现在我正在尝试添加editingToolbar并在地图上绘制一些多边形。一旦我在地图上绘制了多边形或放置了点,多边形/点就消失了。我错过了什么吗?我该如何调试它?
这是我的代码(我正在gdal2tiles生成的html上试用它)。
<script type="text/javascript">
var map;
var mapBounds = new OpenLayers.Bou
我正计划从引用此代码的lat长值中绘制多边形。
var polyCoordinates =[[1.300910900488229, 44.28372648003116],[1.3373031124022878, 44.13311552125895],[1.6648330196289067, 44.12030076099872]];
var polygon = new OpenLayers.Geometry.Polygon([polyCoordinates]);
// Create feature with polygon.
var feature = new OpenLayers.Featu
我正在使用以下代码在地图上绘制一个点:
function addPointToMap(pMap){
var coordinates = new Array();
// Style Point
var style_blue = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style_blue.strokeColor = "blue";
style_blue.fillColor = "blue";
我有一个包含坐标的xml文件,我想在Openlayers Map上绘制一条包含这些点的线。我已经有了一个Openlayers.Layer.Vector,并且我正在创建一个特性,如下所示:
var points = [];
for (var i = 0; i < coords.length; i++)
{
point = new OpenLayers.Geometry.Point(aPointsArray[i].lon, aPointsArray[i].lat);
points.push(point);
}
var geometry = new OpenLayers.Geo