Клуб API Карт

Найдено на тему «YMapsML»:
вывести коллекцию в зависимости от региона
apaboss
13 августа 2016, 07:51

Регион определяется автоматически, и нужно, что бы в списке выводились метки из определенной коллекции, которые в этом регионе размещены. То есть задача, получить примерно следующее http://prntscr.com/c549vs Каталог организаций, только отсортированый по определившемуся региону автоматически. такое возможно сделать впринципе?

YMapsML
YMapsML + iconStyle применение шаблона иконки в xml
Алексей
10 мая 2016, 11:03

Добрый день.
Храню точки в xml формате, загружаю на сайт след. образом:

            <script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
            <script type="text/javascript">
            ymaps.ready(init);

            function init () 
            {
                var allMap = new ymaps.Map("map_office_adr",{center: [45.18501644, 41.71664333], zoom: 7, controls: ["smallMapDefaultSet"]});
                var clusterer =  ymaps.geoQuery(ymaps.geoXml.load("path_to_xml")).clusterize({preset: "islands#orangeClusterIcons", zoomMargin: 70});
                allMap.geoObjects.add(clusterer)    
            }
            </script>

   
в итоге данные отображаются, то не подтягивается шаблон из xml <iconStyle> для не кластеризованных точек и также дополнительный вопрос:
если точки имеют одинаковые координаты, то баллун имеет другой, не кастомный вид и название точек (clusterCaption) не отображается.
Подскажите пожалуйста как нужно скорректировать xml документ?
шаблон ниже:

<?xml version="1.0" encoding="utf-8"?>
<ym:ymaps xmlns:ym="http://maps.yandex.ru/ymaps/1.x">
<Representation xmlns="http://maps.yandex.ru/representation/1.x" xmlns:gml="http://www.opengis.net/gml" xmlns:repr="http://maps.yandex.ru/representation/1.x">

<Style gml:id="userobject">

	<iconStyle>
		<href>http://info.maps.yandex.net/api/i/steelblue/dot.png</href>
		<size x="26" y="46"/>
		<offset x="-22" y="-46"/>
	</iconStyle>
	
	<iconContentStyle>
		<template>#placemark</template>
	</iconContentStyle>

	<hintContentStyle>
		<template>#hintTemplate</template>
	</hintContentStyle>

	<balloonContentStyle>
		<template>#balloon</template>
	</balloonContentStyle>
	
</Style>

<Template gml:id="placemark">
	<text>$[metaDataProperty.AnyMetaData.number]</text>
</Template>

<Template gml:id="hintTemplate">
	<repr:text><![CDATA[<div>$[name]</div>]]></repr:text>
</Template>

<Template gml:id="balloon">
	<text><![CDATA[<div style="max-width:400px;*width:400px;">
				<b>$[name]</b>
				<div><i>$[description]</i></div>
				<br/>
				<div><b>Адрес: </b>$[metaDataProperty.AnyMetaData.adr]</div>
				</div>]]></text>
</Template>

</Representation>


<ym:GeoObjectCollection xmlns="http://www.opengis.net/gml">
<gml:name xmlns:gml="http://www.opengis.net/gml">Точки на карте</gml:name>
<featureMembers>

<ym:GeoObject>
<ym:style>#userobject</ym:style>
<metaDataProperty xmlns:gml="http://www.opengis.net/gml" xmlns:repr="http://maps.yandex.ru/representation/1.x">
<ym:AnyMetaData>
<ym:number>1</ym:number>
<ym:adr>строка адрес</ym:adr>
</ym:AnyMetaData>
</metaDataProperty>
<name>название</name>
<description>описание</description>
<Point>
<pos>53.280784, 158.209817</pos>
</Point>
</ym:GeoObject>

</featureMembers>
</ym:GeoObjectCollection>
</ym:ymaps>

2 комментария
YMapsML,Метки
Как можно отметить множество адресов на карте ?
Рекламное Агентство ИдеИ
6 октября 2015, 11:57

Добрый день !!!

Скажите пожалуйста как можно отметить много адресов на карте (не ручным методом), есть файл в exel с адресами, колонки ( улица, дом) , хотелось бы это разместить на карте ?

Заранее спасибо!!!

2 комментария
метка,кластеризатор,геокодирование,API 2.1,YMapsML
Не отображается Яндекс.Карта
НН
29 сентября 2015, 18:39

 Добрго времени суток. Как сделать так, чтобы карта отображалась? Воможно, что здесь есть ошибка.

 

 

<script src="http://api-maps.yandex.ru/1.1/index.xml?key=ALEuok8BAAAAXihfAgIAORrYnNI5pyjr2JoAIezf8VQFHCgAAAAAAAAAAAAWdb-38siOyjuG2TdEo9NGDqdcEw==" type="text/javascript"></script>

<script type="text/javascript">

        YMaps.jQuery(function () {

        var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

        map.setCenter(new YMaps.GeoPoint(30.332977,59.955278), 10); 

        map.addControl(new YMaps.Zoom());

        map.addControl(new YMaps.ToolBar());

        map.addControl(new YMaps.TypeControl());

        var s = new YMaps.Style();

            s.iconStyle = new YMaps.IconStyle();

            s.iconStyle.href = "s.png";

            s.iconStyle.size = new YMaps.Point(15, 19);

            s.iconStyle.offset = new YMaps.Point(-5, -20);

        var mc = new YMaps.Style();

            mc.iconStyle = new YMaps.IconStyle();

            mc.iconStyle.href = "mc.png";

            mc.iconStyle.size = new YMaps.Point(19, 26);

            mc.iconStyle.offset = new YMaps.Point(-12, -29);

        [[getResources? 

          &parents=`16` 

          &limit=`all`

          &depth=`0`

          &includeTVs=`1` 

          &includeTVList=`adress,coordinats,telephone` 

          &tpl=`points` 

          &processTVs=`1`

          processTVList=`adress,coordinats,telephone`  

        ]]

});

</script>

 

6 комментариев
балун,YMapsML
YMapsML.xml и geoXml.load 2.0 vs 2.1
Удалённый пользователь
3 августа 2015, 13:55

Подскажите, при смене версии 

<script src="http://api-maps.yandex.ru/2.0?load=package.full&amp;lang=ru-RU" type="text/javascript"></script>

на

<script src="http://api-maps.yandex.ru/2.1/?load=package.full&amp;lang=ru-RU" type="text/javascript"></script>

 

и загрузке в кластер

    ymaps.geoXml.load(_xmlPath)

        .then(function (res) {

            res.geoObjects.each(function (geoObject) {

clusterer.add(geoObject);

}

получаю практически в 2 раза меньше объектов чем в 2.0  с чем может быть связано?

 

2 комментария
API 2.1,API 2.0,YMapsML
Определение административного округа в Москве
elena.jilyakova
21 июля 2015, 09:11

Здравствуйте!

Возможно ли с помощью АПИ определить этот параметр?

Единственное что-то похожее, что нашла - http://mosopen.ru/map

тут сайт яндекс карте см отдает границы округа.

2 комментария
API 2.1,YMapsML
ymapsml перезагрузка изменённого xml файла
karmanov.lev
14 июля 2015, 07:49

Доброе время суток. Есть необходимость динамически менять xml с объектами.

Подгружаю из xml на локальном сервере несколько объектов Polygon

 

ymaps.geoXml.load("polygon5.xml")

  .then(function (res) {  

  myMap.geoObjects.add(res.geoObjects); // Добавление геообъектов на карту

  }, function (error){   // Вызывается в случае неудачной загрузки YMapsML-файла

    alert('Ошибка: ' + error);         

  });, 

и когда вношу изменения в xml файл, на карте они не отображаются после перезагрузки страницы. Для того чтобы изменилась карта приходится менять название файла. Что я делаю не так? Подскажите в какой стороне копать :)

2 комментария
API 2.1,YMapsML
Размещение объектов
eugeny.saibert
13 июля 2015, 17:03

разместил стили в объекты в один файл https://jsfiddle.net/cbkh3L1e/13/ . в iconstyle разместил шаблон, (https://yadi.sk/i/7TbMcAb0hqWbC) , но метка все равно отображается стандартная. В чем может быть проблема?

1 комментарий
API 2.1,YMapsML
Кастомизация балуна
GoodManDima
25 июня 2015, 17:54

Здравствйуте. Возник такой вопрос. Как можно добавить стили ко всему балуну например надо чтобы окно балуна имело свойство border-radius.. то есть скругления? как кастомизировать кнопку закрыть?

4 комментария
API 2.1,макеты,балун,YMapsML
Изменение цвета заливки полигона после загрузки XML-файла
Алексей
18 июня 2015, 14:22

Добрый день!

Подскажите, пожалуйста! Загружаю на карту регионы из сервиса Мои карты:

var myMap = new ymaps.Map('map', {
   center: [55, 38],
   zoom: 6
});

ymaps.geoXml.load('https://maps.yandex.ru/export/usermaps/BqJ7NKbXxHTgqKAK_-1DsskXW-TakMFR/ ').then(function (res) {
     res.geoObjects.options.set('fillColor', 'ff000099');
     myMap.geoObjects.add(res.geoObjects);
});

 

Как видно из кода, пытаюсь заменить цвет заливки полигона, но ничего не получается. Что я делаю не так?

3 комментария
регион,API 2.1,стили,полигон,YMapsML
YMapsML + api 2.1
Сайберт Евгений
17 июня 2015, 17:00

Не получается отобразить метки на карте, вот пример https://jsfiddle.net/cbkh3L1e/10/
в геобъекте в "<ym:style>" указана полная ссылка на файл стилей как тут https://tech.yandex.ru/maps/doc/ymapsml/1.x/examples/index-docpage/ В чем может быть проблема?  

3 комментария
метка,API 2.1,YMapsML
Не отображается картинка в баллуне меток загруженных с помощью ymapsml
Евгений Закиров
1 июня 2015, 15:56

код:

 

        var myMap = new ymaps.Map("show-base", {

            center: [53.346930035079104,83.77647585253904], 

            zoom: 8,

            controls: ['smallMapDefaultSet']

        });

 

        ymaps.geoXml.load('http://tur.flyleaf.su/hostels/default/ymapsml/1/?d=556c5116c5880')

            .then(onGeoXmlLoad);

        function onGeoXmlLoad (res) {

            myMap.geoObjects.add(res.geoObjects);

 

            if (res.mapState) {

                res.mapState.applyToMap(myMap);

            }

        } 

 

 

http://tur.flyleaf.su/hostels/default/ymapsml/1/ метки отсюда.

В шаблоне баллуна загружаемых меток я подставляю <img src="$[metaDataProperty.AnyMetaData.link]" /> (http://tur.flyleaf.su/hostels/default/ymapsml/1/) но в результате, при выводе меток на карте, картинка не отображается, в коде: <img > , при этом ссылка на картинку точно существует, если в шаблоне указать: $[metaDataProperty.AnyMetaData.link], то выведется текст ссылки на картинку.

https://yadi.sk/i/glNbIREDgzjyr

что я делаю не так?(

ps: к примеру если поменять здесь  <img src="$[metaDataProperty.AnyMetaData.link]" />  src на alt , то ссылка выведется нормально, картинки естественно не будет, но: https://yadi.sk/i/cAKovBeAgzkyN

2 комментария
API 2.1,шаблоны,YMapsML
Иконка привязанная к окну карты
allians-sk
2 апреля 2015, 00:42

Можно ли ли добавить изображение по верх карты, , чтобы показывалось всегда, то есть с привязкой к окну, как панель управления. Например лого поставить или еще что. Как это сделать, если можно код функции)

2 комментария
метка,балун,YMapsML
geoXml + кластер
Александр
27 марта 2015, 15:08

Не кластеризуется.

 

clusterer = new ymaps.Clusterer();

 

var result = [];

ymaps.geoXml.load('https://----')

 .then(function (res) {

 res.geoObjects.each(function (geoObject) {

 result.push(geoObject);

 });

clusterer.add(result);

 });

  myMap.geoObjects.add(clusterer);

В чем ошибка?

5 комментариев
кластеризатор,API 2.1,YMapsML
Как поменять вид метки + размер кнопки в api 2.1?
Александр
26 марта 2015, 15:59

1) Как поменять вид метки

 

Вот часть кода:

ymaps.geoXml.load('url').then(function (res) {

res.geoObjects.each(function (geoObject) {

geoObjects.options.set({preset : 'twirl#trainIcon'});

myMap.geoObjects.add(res.geoObjects);

}


Метка не меняется?!


2) Возможно ли настроить произвольную ширину кнопки?


var but1 = new ymaps.control.Button({

    data: {

      content: "Привет",

      image: "1.png",

      title: 'Привет'

    },

    options: {float: 'none', position: {top: 5, left: 5},

    maxWidth: 300

    }

});

 

myMap.controls.add(but1);

 

 

var but2 = new ymaps.control.Button({

    data: {

      content: "УРАААААААААААААА-ААААА-А",

      image: "2.png",

      title: 'УРА'

    },

    options: {float: 'none', position: {top: 35, left: 5},

    maxWidth: 300

    }

});

myMap.controls.add(but2);


Кнопка "Привет" - короткая, а "УРАААААААААААААА-ААААА-А" - длинная, а надо чтобы "Привет" была такой же длины как УРА?

 

 

 



4 комментария
кнопка,метка,API 2.1,YMapsML
Загрузка geoXML с помощью массива
Александр Павлов
11 марта 2015, 23:19

Так сложилось, что мне нужно подгружать на карту несколько разных файлов.

Очень хочется этот процесс запихать в цикл:

var types = ['added','sended','planned','solved','checked','denied','all'];
var index;

for (index = 0; index < types.length; ++index) {
var type = types[index];

ymaps.geoXml.load('http://domain.org/create_' + type + '_map.php?date_befor=2014-03-01&date_after=2015-03-11&v=' + (new Date())).then(function (res) {
res.geoObjects.each(function (geoObject) {
type.push(geoObject);
});
spb_cluster.add(type);
});
}

 

Но таким образом не получается... Подскажите, это вообще возможно?

Спасибо!

7 комментариев
API 2.1,geoXml,YMapsML
Как добавить KML файл на Яндекс.Карты?
Удалённый пользователь
9 марта 2015, 21:38

Как добавить этот KML файл на Яндекс.Карты версия 2.1?

http://weather.wdtinc.com/clients/weatherbell/data/kml/wwlln.php?GEOBOUNDS=90,180,-90,-180 

Раньше на сайте происходил импорт с помощью данного яваскрипта: 

var map;
var s;
var first=true;
var lr=0;
var ll=0;
var lt=0;
var lb=0;
var d=0.01;

window.onload = function () {
    map = new YMaps.Map(document.getElementById("YMapsID"));
    map.addControl(new YMaps.TypeControl([YMaps.MapType.MAP, YMaps.MapType.SATELLITE, YMaps.MapType.HYBRID],[0,1,2]), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT,new YMaps.Size(37,3)));
    map.addControl(new YMaps.SmallZoom(), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT,new YMaps.Size(3,3)));
    map.setCenter(new YMaps.GeoPoint(37.617, 55.756), 8);
    YMaps.Events.observe(map, map.Events.Update, ReloadPoints);
    YMaps.Events.observe(map, map.Events.MoveEnd, ReloadPoints);
    ReloadPoints();
}
function ReloadPoints(){
    var bounds=map.getBounds();
    var r=bounds.getRight();
    var l=bounds.getLeft();
    var t=bounds.getTop();
    var b=bounds.getBottom();
    if((r>=lr) || (l<=ll) || (t<=lt) || (b >=lb)){
        ll=bounds.getLeft()-d;
        lr=bounds.getRight()+d;
        lt=bounds.getTop()+d;
        lb=bounds.getBottom()-d;
        var url='http://gsm-msk.m-pro.ru/weather/l.php?l='+ll+'&r='+lr+'&t='+lt+'&b='+lb;
        var yml = new YMaps.YMapsML(url);

        YMaps.Events.observe(yml, yml.Events.Fault, function (m2, error) {
            alert(error);
        });
        YMaps.Events.observe(yml, yml.Events.Load, function (error) {
            map.removeAllOverlays();
            map.addOverlay(yml);
            if(first){ first=false; }
        });
    }
}
4 комментария
API 2.1,KML,YMapsML,метка,геокодирование,Javascript
ymaps.geoXml.load
Арсений Новиков
7 марта 2015, 14:39

Здравствуйте.

Используя пример из песочницы (https://tech.yandex.ru/maps/jsbox/2.1/geoxml_display) столкнулся с проблемой.

Если подгружаемый файл находится на хосте доступном из интернет, то данные подгружаются нормально. Если тот же файл на локальном хосте (url верный, начинающийся на http), то данные не подгружаются.

 

Как решить проблему?

3 комментария
API 2.1,YMapsML
Возможен ли возврат значения request?
Olianine
28 февраля 2015, 02:55
Только начинаю работать с картами. Возникла загвоздка. Делаю считывание адресов точек для поиска их координат из текстового файла, ищу координаты через geocode, записываю результаты в результирующий текстовый файл. Пишу на javascript'е. Необходимо, что бы в результирующий файл попадал и сам запрос. Формирую следующую переменную, которую кладу в результирующий файл:
var txt=firstGeoObject.properties.get('description')+';'+firstGeoObject.properties.get('name')+';'+cords[0]+';'+cords[1]+';'+firstGeoObject.properties.get('metaDataProperty').GeocoderMetaData.kind;
Не выходит вызвать request. Возможно ли его вообще как-то вызвать? Пыталась через GeocoderResponseMetaData, но не выходит, выдает [object Object] на результат.
И что необходимо прописать в html, что бы можно было просмотреть xml с результатами выполнения запросов? Сейчас html выглядит следующим обрахом:
<!DOCTYPE html> <html> <head> <title> Гео </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="script.js" type="text/javascript"></script> <script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script> </head> <body onLoad="my()"> </body> </html>
Функция чтения выглядит так: 
 function readFile(filePath) { var fso = new ActiveXObject("Scripting.FileSystemObject"); var file = fso.OpenTextFile(filePath+'test.csv', 1); var str1; while(!file.AtEndOfStream) { str1=file.ReadLine(); //alert(str); //writeFile(filePath+'geo.csv',str1); ymaps.geocode(str1).then(function (res) { // Выбираем первый результат геокодирования //var str1=file.ReadLine(); var firstGeoObject = res.geoObjects.get(0); var cords = firstGeoObject.geometry.getCoordinates(); var txt=firstGeoObject.properties.get('description')+';'+firstGeoObject.properties.get('name')+';'+cords[0]+';'+cords[1]+';'+firstGeoObject.properties.get('metaDataProperty').GeocoderMetaData.kind; var full_txt=txt.replace(',',';'); writeFile(filePath+'geo.csv',full_txt); }, function (err) { // Если геокодирование не удалось, // сообщаем об ошибке alert(err.message); } ) } file.Close(); }
2 комментария
API 2.1,геокодирование,API 2.0,YMapsML
Сервер Яндекса не "видит" объекты карты по xml
Kudinov-DA
24 февраля 2015, 17:34

Здравствуйте!

Внезапно возникла следующая проблема - на сайте отображаются несколько карт с разным перечнем объектов (розничные магазины). Скрипт Яндекс.карт подключается в заголовке, сама карта выводится в коде, список объектов сделан через .xml файл - сегодня эта конструкция стала выдавать ошибку.

Карта загружается, но вместо объектов Яндекс возвращает ошибку "object Object".

Вся конструкция исправно работала свыше двух лет, никаких изменений не делали, но сегодня увидели проблему.

Подключение идёт к версии api карт 2.0
Пример ошибки: http://www.kuhni-driada.ru/salons/astrakhan/

Как быстрее всего и проще можно исправить ошибку?

5 комментариев
API 2.0,YMapsML