Результат OpenLayers на основе JSON с всплывающими окнами - PullRequest
1 голос
/ 05 октября 2011

Я сделал код, чтобы получить желтые точки на карте, координаты и некоторые другие факты загружаются из внешнего файла.

Вот файл ресурса

var sites = [{id:1269209,geometry:{ type:"Point",lat:1,lon: 1},properties:{siteName:"Yttern",parentId:1269209,siteType:2}}];

А вот и скрипт для их просмотра

var vectorLayer = new OpenLayers.Layer.Vector("Overlay");
$.getScript('test.js',function(){
    for(var i = 0; i < sites.length; i++)
    {
        var site = sites[i];
        var feature = new OpenLayers.Feature.Vector(
        new OpenLayers.Geometry.Point(site.geometry.lon,site.geometry.lat));
    vectorLayer.addFeatures(feature);
}
    map.addLayer(vectorLayer);

});

Что я удивляюсь, так это то, как я могу сделать всплывающее всплывающее окно для каждого маркера с содержимым из файла JSON?Можно ли сделать запрос только тогда, когда пользователь прошел уровень масштабирования 14?


Теперь я исправил функцию, которая запускается, когда масштабирование прошло 10

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

      if(map.zoom >= 10)
      {
        var bounds = map.getExtent();
        var ne = new OpenLayers.LonLat(bounds.right,bounds.top).transform(map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));
        var sw = new OpenLayers.LonLat(bounds.left,bounds.bottom).transform(map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));
        var vectorLayer = new OpenLayers.Layer.Vector("Layer");
        $.getScript('ajax.php?a=markers&type=javascript&sw=('+sw.lon+','+sw.lat+')&ne=('+ne.lon+','+ne.lat+')',function(){
        //$.getScript('test.js',function(){
            for(var i = 0; i < sites.length; i++)
            {
                var site = sites[i];
                var latlon = new OpenLayers.LonLat(site.geo.lon,site.geo.lat);
                var feature = new OpenLayers.Feature.Vector(
                    new OpenLayers.Geometry.Point(latlon)
                );
                vectorLayer.addFeatures(feature);
            }
            map.addLayer(vectorLayer);
        });
        }
    });

но все же я не получаю маркеры на карте, что-то не так?Один из результатов markers.php aka ajax.php? A = markers ....

var sites = [{siteId:'9',siteName:'Hårleby',geo:{lon:11.641452694427471,lat:58.15782686109065},fact:{parentSiteId:0,county:'Orust'}}]; 

это проекция на результат, может быть?Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...