mapserver слои
- qnx
- Участник
- Сообщения: 61
- Зарегистрирован: 13 апр 2012, 12:10
- Репутация: 0
- Откуда: город-герой Киев
Re: mapserver слои
а примерчек можно? там где-то наверное нужно через объект слоя добавлять?
КОЖЗГСФ
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: mapserver слои
Spatial is now, more than ever, just another column- The Geometry Column.
- qnx
- Участник
- Сообщения: 61
- Зарегистрирован: 13 апр 2012, 12:10
- Репутация: 0
- Откуда: город-герой Киев
Re: mapserver слои
на карте не отобразился даже вне аджакс метода добавляемый объект.
а на счет такого исполнения... возможно, что объект слоя еще не создан, при выхове для него метода, что он его не может добавить из-за порядка объявления слоя и метода обработки?
а на счет такого исполнения... возможно, что объект слоя еще не создан, при выхове для него метода, что он его не может добавить из-за порядка объявления слоя и метода обработки?
Код: Выделить всё
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="http://maps.google.com/maps/api/js?v=3.6&sensor=false"></script>
<script src="./ollib/OpenLayers-2.11/lib/OpenLayers.js"></script>
<script type="text/javascript">
var lon = 28.14985,
lat = 49.89785,
zoom = 15,
epsg4326 = new OpenLayers.Projection('EPSG:4326'),
epsg900913 = new OpenLayers.Projection('EPSG:900913');
function init(){
var map = new OpenLayers.Map('map', {
units: 'm',
maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
maxResolution: 156543.0399,
numZoomLevels: 19,
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.PanZoomBar()
],
projection: epsg900913,
displayProjection: epsg4326 //Is used for displaying coordinates in appropriate CRS by MousePosition control
});
var StyleMap = new OpenLayers.StyleMap(OpenLayers.Util.applyDefaults(
{fillColor: "green", fillOpacity: 1, strokeColor: "black", pointRadius: 12},
OpenLayers.Feature.Vector.style["default"])
);
OpenLayers.Format.shs666 = OpenLayers.Class(OpenLayers.Format.XML, {
read: function(data) {
document.getElementById('textinfo').innerHTML=document.getElementById('textinfo').innerHTML + "1";
var geometry = new OpenLayers.Geometry.Point(28.17242, 49.89951);
if (geometry && this.internalProjection && this.externalProjection) {
geometry.transform(this.externalProjection,
this.internalProjection);
}
var real_point = new OpenLayers.Feature.Vector(geometry, {
name: 'asdfasdf',
address: 'adddddres'
});
ajax_lay.addFeatures(real_point);
var features = [];
return features;
}
});
var ajax_lay = new OpenLayers.Layer.Vector("ajax_l", {
projection: epsg4326,
styleMap: StyleMap,
strategies: [new OpenLayers.Strategy.Fixed(), new OpenLayers.Strategy.Refresh({interval: 5000})],
protocol: new OpenLayers.Protocol.HTTP({
url: "./dyn.xml",
format: new OpenLayers.Format.shs666()
})
});
var lay_goo = new OpenLayers.Layer.Google('Google', {
type: google.maps.MapTypeId.SATELLITE,
sphericalMercator: true,
});
var lay_osm = new OpenLayers.Layer.Google('OSM');
var vlayer = new OpenLayers.Layer.WMS( "Vector overlay", "http://192.168.56.193/cgi-bin/mapserv?map=/var/www/map2/fldwmsin.map",
{
layers: 'fld,rd',
transparent: true
},
{
isBaseLayer: false
}
);
var rlayer = new OpenLayers.Layer.WMS( "Raster overlay", "http://192.168.56.193/cgi-bin/mapserv?map=/var/www/map2/fldwmsin.map",
{
layers: 'rstr',
transparent: true
},
{
isBaseLayer: false
}
);
OpenLayers.ProxyHost = "/py/proxy.php?url=";
var kml_layer = new OpenLayers.Layer.Vector("KML", {
projection: epsg4326,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "http://ameno.control.ua/ol/wms/kml/kmlpolygon.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
var kml_pnt = new OpenLayers.Layer.Vector("KMLpnt", {
projection: epsg4326,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "http://ameno.control.ua/ol/wms/kml/kmlpoint.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
var kml_ln = new OpenLayers.Layer.Vector("KMLln", {
projection: epsg4326,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "http://ameno.control.ua/ol/wms/kml/kmlline.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
var kml_is = new OpenLayers.Layer.Vector("KMLis", {
projection: epsg4326,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "http://ameno.control.ua/ol/wms/kml/intersection.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
vlayer.projection = "EPSG:3857";
rlayer.projection = "EPSG:3857";
var oosm = new OpenLayers.Layer.OSM("ooosm");
map.addLayers([oosm, lay_goo, lay_osm, rlayer, kml_layer, kml_pnt, kml_ln, kml_is, vlayer, ajax_lay]);
map.setCenter(new OpenLayers.LonLat(lon, lat).transform(epsg4326, epsg900913), zoom);
}
</script>
</head>
<body onload="init()">
<div id="map" style="width: 700px; height: 470px"></div>
<div id="textinfo" style="width: 100%; height: *">asdfadfasd</div>
</body>
</html>
КОЖЗГСФ
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: mapserver слои
И зачем вы запихнули addFeatures внутрь определения формата? Конкретно при таком способе определения слоя в использовании addFeatures нет необходимости, объекты должны добавиться автоматически. Для начала напишите свой класс формата, если вы используете не стандартный, затем отладьте его, убедившись в том, что метод read возвращает то что нужно и потом уже используйте его при описании слоя.
Spatial is now, more than ever, just another column- The Geometry Column.
- qnx
- Участник
- Сообщения: 61
- Зарегистрирован: 13 апр 2012, 12:10
- Репутация: 0
- Откуда: город-герой Киев
Re: mapserver слои
Код: Выделить всё
OpenLayers.Format.shs666 = OpenLayers.Class(OpenLayers.Format.XML, {
read: function(data) {
var split_data = data.split("<br>");
document.getElementById('textinfo').innerHTML="";
for (var i = 0; i < split_data.length - 1; ++i)
{
//document.getElementById('textinfo').innerHTML=document.getElementById('textinfo').innerHTML + split_data[i] + "<br>";
var part_of_machine = split_data[i].split("prm");
var part_imei_of_machine = part_of_machine[0].split(";");
// id, imei, lon, lat, height, speed, direction, satellites, gps_u_time, diff_time
var current_imei = part_imei_of_machine[0];
var current_lon = part_imei_of_machine[1];
var current_lat = part_imei_of_machine[2];
var current_height = part_imei_of_machine[3];
var current_speed = part_imei_of_machine[4];
var current_direction = part_imei_of_machine[5];
var current_stl = part_imei_of_machine[6];
var current_u_tm = part_imei_of_machine[7];
var current_diff = part_imei_of_machine[8];
document.getElementById('textinfo').innerHTML=document.getElementById('textinfo').innerHTML + current_imei + " " + current_diff + " ";
var real_prm = part_of_machine[1].split(";");
for (var count_prm = 0; count_prm < real_prm.length - 1; ++ count_prm)
{
var current_prrm = real_prm[count_prm];
var part_of_prrm = current_prrm.split(">");
document.getElementById('textinfo').innerHTML=document.getElementById('textinfo').innerHTML + "[" + part_of_prrm[0] + "]" + part_of_prrm[1] + " ";
}
document.getElementById('textinfo').innerHTML=document.getElementById('textinfo').innerHTML + "<br>";
}
var geometry = new OpenLayers.Geometry.Point(28.17242, 49.89951);
if (geometry && this.internalProjection && this.externalProjection) {
geometry.transform(this.externalProjection,
this.internalProjection);
}
var real_point = new OpenLayers.Feature.Vector(geometry, {
name: 'asdfasdf',
address: 'adddddres'
});
ajax_lay.addFeatures(real_point);
var features = [];
return features;
}
});
Код: Выделить всё
357247011666167;28.8119729;50.1460498;231;9;125;7;1340808362;14prm25>51;94>0;95>0;96>0;97>0;98>0;99>0;100>0;101>0;102>0;103>191;105>0;106>1;107>0;110>250;111>-10653;235>0;<br>356895037112334;28.0937533;49.9087766;0;0;0;4;1340808354;23prm0>3;1>0;2>0;9>0;21>4;28>604;29>26;32>-1;33>0;66>11360;67>4305;70>35;78>0;90>0;91>1;92>649;93>25503;111>-1180;229>0;235>0;255>0;<br>356895039473866;28.0927533;49.9089483;0;7;98;4;1340807924;454prm0>3;1>1;2>0;9>0;21>19;28>575;29>39;66>12760;67>3165;70>33;78>0;90>0;91>0;92>0;93>25503;111>-13356;229>0;235>1;255>0;<br>
вот ссылка на формат http://ameno.control.ua/ol/old/imai_1.php
код пока работает только в локалке на работе, потому показать как ссылку не получится(
парсер в коде.
и такой не читабильный формат получился. но благополучно распознаю координаты и необходимые мне параметры.
полный список всех параметров думаю выводить в divе, а необходимые в инфе объекта, и подгружать картинки в зависимости от некоторых свойств, а так-же перекрашивать в разные цвета маркеры от значения некоторых значений... и соответственно передвигать на нужные координаты.
и вот так оно все на текущий момент смотрится.
КОЖЗГСФ
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 20 июл 2012, 10:44
- Репутация: 0
Re: mapserver слои
msLoadMap(): Unknown identifier. Parsing error near ( FONTSET ):(line 7)!
Кто нибудь может объяснить что это означает?????
Кто нибудь может объяснить что это означает?????
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: mapserver слои
Ошибка парсинга, что-то не так написали.
Spatial is now, more than ever, just another column- The Geometry Column.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость