小编Max*_*lan的帖子

OpenLayers和GeoJSON,不是相同坐标上的乘法标记

我的代码显示了GeoJSON中的标记,当我放大到缩放级别10时,它会加载GeoJSON文件,但是如何避免重新输出相同的标记呢?有没有办法检查特定地方是否已经存在标记?代码

map.events.register("zoomend", null, function(){

      if(map.zoom == 10)
      {
        var bounds = map.getExtent();
        console.log(bounds);
        var ne = new OpenLayers.LonLat(bounds.right,bounds.top).transform(map.getProjectionObject(),wgs84);
        var sw = new OpenLayers.LonLat(bounds.left,bounds.bottom).transform(map.getProjectionObject(),wgs84);
        var vectorLayer = new OpenLayers.Layer.Vector();
        map.addLayer(vectorLayer);
        $.getJSON('ajax.php?a=markers&type=json&sw=('+sw.lon+','+sw.lat+')&ne=('+ne.lon+','+ne.lat+')',function(data){
        //$.getJSON('test.json',function(data){
            var geojson_format = new OpenLayers.Format.GeoJSON({
                'externalProjection': wgs84,
                'internalProjection': baseProjection
                });
            vectorLayer.addFeatures(geojson_format.read(data));
        });
        }
    });
Run Code Online (Sandbox Code Playgroud)

javascript openlayers geojson

6
推荐指数
1
解决办法
1756
查看次数

从OpenLayers中添加的功能获取LonLat

好吧,当我测试这段代码时

var map;
            function mapInit(element){
              map = new OpenLayers.Map(element);
              var osm = new OpenLayers.Layer.OSM(); 
              var vectors = new OpenLayers.Layer.Vector("Vector Layer", {renderers: renderer});  
              var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
              renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;         
              map.addLayers([osm, vectors]);
              map.zoomToMaxExtent();
              var add =  new OpenLayers.Control.DrawFeature(vectors,OpenLayers.Handler.Point, {
                  featureAdded: getInfoFeature,
                  multi: false
              });
              map.addControl(add);
              add.activate();
            } 
            function getInfoFeature(event){
                var coords = event.lonlat;
                console.log(coords);

            }

            mapInit('siteMap');
Run Code Online (Sandbox Code Playgroud)

添加功能很有用,但坐标为空.可能我错过了什么?是否也可以设置最多可添加的功能?

gis openlayers

3
推荐指数
1
解决办法
4503
查看次数

标签 统计

openlayers ×2

geojson ×1

gis ×1

javascript ×1