annotate src/djol/VectorLayer.js @ 20:9718e8de0cb2

Слияние
author nickolay
date Fri, 06 Oct 2017 09:17:41 +0300
parents f0035923ff3e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
1 define([
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
2 "implab/guard",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
3 "implab/text/template-compile",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
4 "dojo/_base/declare",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
5 "dojo/_base/lang",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
6 "dojo/Deferred",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
7 "ol"],
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
8 function (guard, compile, declare, lang, Deferred, ol) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
9 return declare([ol.layer.Vector], {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
10
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
11 map: null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
12
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
13 _olMap: null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
14
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
15 name: null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
16
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
17 displayName: null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
18
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
19 identifyResultTemplate: null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
20
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
21 identifyCompiledTemplate:null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
22
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
23 searchResultTemplate: null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
24
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
25 searchCompiledTemplate: null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
26
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
27 constructor: function () {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
28 lang.mixin(this, arguments[0]);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
29 this._olMap = this.map.olMap;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
30 var identifyCompiledTemplate = null, searchCompiledTemplate = null;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
31 if (this.identifyResultTemplate) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
32 this.identifyCompiledTemplate = compile(this.identifyResultTemplate);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
33 }
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
34 if (this.searchResultTemplate) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
35 this.searchCompiledTemplate = compile(this.searchResultTemplate);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
36 }
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
37 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
38
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
39 /** Возвращает массив строк, каждая строка - результат поиска приведенный к шаблонному виду
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
40 @options {Object}
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
41 @str {String} поисковая строка
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
42 @bbox {Object} bound box, в рамках которого осуществлять поиск
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
43 */
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
44 getSearchResult: function (options) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
45 return null;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
46 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
47
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
48 _getIdentifyResult: function (options) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
49 var me = this;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
50 var features = [];
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
51 //TODO: добавить фильтр по layer равный ему самому
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
52 this._olMap.forEachFeatureAtPixel(options.pixel, function (feature, layer) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
53 features.push({ feature: feature, layer: layer });
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
54 }, null, function (layer) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
55 return layer == me;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
56 });
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
57 console.log(features);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
58 return features;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
59 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
60 /** Возвращает массив строк, каждая строка - результат идентификации приведенный к шаблонному виду
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
61 @options {Object}
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
62 @coordinates {Array} массив описывающий координаты точки идентификации
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
63 */
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
64 getIdentifyResult: function (coordinates) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
65 return guard(this, "_getIdentifyResult", [coordinates]);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
66 }
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
67 });
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
68 })