Geometry.Point中点的坐标是经纬度吗

0 投票

使用产品:iserver 8c  操作系统:win10 x64
数据类型: 文件型
问题详细描述:SuperMap.Geometry.Point()中点的坐标使用经纬度,之后使用SuperMap.Geometry.Polygon构建多边形,在地图上无法显示
问题重现步骤:

源代码如下:

for(var j=0;j<each_geometry.coordinates.length;++j){

//console.log(each_geometry.coordinates.length);//

each_coordinate=each_geometry.coordinates[j];

var points=[];

//console.log(each_coordinate.length);

for(var k=0;k<each_coordinate.length-1;++k){

var each_coordinates=each_coordinate[k];

//console.log(each_coordinates);

var point=new SuperMap.Geometry.Point(parseFloat(each_coordinates[0]),parseFloat(each_coordinates[1]));

//console.log(each_coordinates[0]);

//console.log(each_coordinates[1]);

points.push(point);

}

console.log(points);

var linearRings = new SuperMap.Geometry.LinearRing(points);

var polygon = new SuperMap.Geometry.Polygon([linearRings]);//geometry对象

var polyFeature = new SuperMap.Feature.Vector(polygon,null,style);

f.push(polyFeature);

}

6月 3 分类:  80次浏览 | 用户: zhiqingxie 才疏学浅 (17 分)

1个回答

0 投票
这个xy值是横坐标和纵坐标,和地图的坐标系对应就行。经纬度地图就用经纬度的值
6月 3 用户: 于浩 名扬四海 (4,003 分)
你的vector传到的是AnimatorVector里还是vectorlayer里了?测试的话可以先把TIME设置为0,100.然后我这边用官网的范例测试了一下,传入到AnimatorVector里,只有在TIME都是0的时候会出现只出现两个面没有渐变的效果
vector = new SuperMap.Layer.Vector("vector"); vector的定义是这个,还是应该传入AnimatorVector?
官网的这个范例方便贴个链接给我看一下吗?我一直找不到是按照API文档来的
把这数据传入到AnimatorVector里图层不显示呢

http://iclient.supermap.io/examples/classic/editor.html#vizLayer_animatorBase

这个是那个官网的范例,之前是让测试看一下polygon能不能显示,所以是用vector这个图层去看,然后您说没问题就是polygon这个对象是正确的,然后就用原来的代码,把polygon那个传给animatorvector。设置TIME为100和1000的话一开始是看不到的,设置成0和100的话会从初始加载会出来第一个polygon的位置,然后到100的时候渐变到第二个polygon

...