Клуб API Карт

июль 2009
Lightbox2 и балун
Shurr-pl
1 июля 2009, 09:34

Данная проблема уже поднималась, но решения не нашла. Популярный скрипт Lightbox ведет себя странным образом: в балуне нормально работает только по щелчку правой кнопкой мыши: http://www.ekoton.com/test.html Работает в Firefox, в IE щелчок правой кнопкой вызывает контекстное меню.
Может решение существует?

6 комментариев
Lightbox,API 1.x
Использование тайлов Google Maps
Павел
1 июля 2009, 11:31

К сожалению, спутниковых снимков многих сибирских городов на Яндекс.Картах пока нет. Поэтому мне пришла в голову идея использовать снимки из карт Google.



API Яндекс.Карт позволяет использовать сторонние тайлы через YMaps.TileDataSource:



var gMap = new YMaps.TileDataSource('http://khm1.google.ru/kh/v=40', false, false);
var gMapType = new YMaps.MapType(new YMaps.MapLayer(gMap), 'Google Maps', {minZoom: 1, maxZoom: 17});

gMap.getTileUrl = function(tile, zoom) {
    return this.getTileUrlTemplate() + '&x=' + tile.x + '&y=' + tile.y + '&z=' + zoom + '&s=G';
}
 
map.addControl(new YMaps.TypeControl([YMaps.MapType.MAP, YMaps.MapType.SATELLITE, gMapType]));


Переключение между картами заработало, но тут меня ждало разочарование - тайлы не совпадают.



Возможно, тут поможет смещение тайлов, но я не разобрался как это сделать.



Может, у кого-нибудь из участников клуба стояла подобная задача? Или выбранный мною путь неверен?

17 комментариев
Google,тайлы,API 1.x
Выпадение квадратов изображений из карт в FireFox
Олег
1 июля 2009, 14:20

Сегодня при просмотре недавно созданной карты в FireFox обнаружил пустые квадраты спутникового изображения с надписями "Для этого участка местности нет данных...". Что интересно - изображение появляется при увеличении и уменьшении масштаба на единицу. Эти выпадения имеют место только в FireFox (3.0.8), а в остальных браузерах такой проблемы нет. Ещё более странно то, что вчера ничего подобного не было. С чем это может быть связано?

2 комментария
API 1.x
Как сделать нарезку со спутника и создать схему?
jobgomel
1 июля 2009, 14:57

Собственно моего города в схеме нету, поэтому есть задача сделать нарезку с карты со спутника и прорисовать схему города.

Долго копался по клубу! Нашел, но как то не вразумительно.

В принципе могу сам написать скрипт который будет вырезать мне картинки. Но так как я еще не бог в API, нужно реализовать следующее:

Помогите вывести один квадрат местности в максимальном масштабе.


Или же для этого уже есть работчее решение?

12 комментариев
API 1.x
Подскажите как ограничить видимую область карты?
Artemenko
1 июля 2009, 14:58

Подскажите как ограничить видимую область карты?

Скажем у меня проект по конкретному городу, но рядом находятся другие города и поселки, хотелось бы каким то образом задать рабочую область карты (возможно при создании или каким нибудь методом вроде map.setMapBoundary()) и чтоб за эту область нельзя было прокручивать карту (чтоб она как бу убиралась в заданные границы), и еще было бы не плохо чтоб ГеоКодер работал ТОЛЬКО в пределах заданной области.

Что думают по этому поводу создатели?

1 комментарий
API 1.x
Использование карт для посетителей с других регионов
alexeikiselev
1 июля 2009, 22:16

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

Пока используется старая версия api, на карте обозначены только города и возможности пользователям размещать свои объекты пока нет, хотя, наверное, это было бы интересно.

Разберусь с текущими делами и поизучаю этот вопрос более детально.

Нет комментариев
API 1.x
Глюки верстки Яндекс карт
volandku
2 июля 2009, 18:21

1) в Google Chrome идут кнопки изменения масштаба

2) В FireFox 3.5 надпись не полностью помещается в balloon  (на примере - для адреса Перовская 65 влазит только Перовская)

Пример  -http://www.huskyvac.ru/contacts.html

2 комментария
API 1.x,конфликт верстки
Не отображаются картинки на кнопках
bystrovzorov
2 июля 2009, 21:46

"Переместить карту", "Увеличить", Измерение расстояний" и т.д. ИЕ8.

Что нужно поправить?

5 комментариев
API 1.x
Проблемы с памятью и WebBrowser(Delphi)
Devalmor
3 июля 2009, 11:56

Растёт память программы при открытии html страницы в WebBrowser-e, загружаю вот такой файлик:

<html>
<head>
    <title>Карта.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <script src="http://api-maps.yandex.ru/1.0/index.xml?key=mykey" type="text/javascript"></script>
    <script type="text/javascript">
        var map, geoResult,showmy;
       
        showmy=false;
        window.onload = function () {
            map = new YMaps.Map(document.getElementById("YMapsID"));
            //map.setType(YMaps.MapType.HYBRID);//гибридная карта
            map.setZoom(20);
            /*map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);*/
           
            if (showmy==false){
                showAddress("{address_show}");
                showmy=true;
            }
            map.addControl(new YMaps.TypeControl());
            map.addControl(new YMaps.ToolBar());
            map.addControl(new YMaps.MiniMap());
            map.addControl(new YMaps.ScaleLine());
            map.addControl(new YMaps.Zoom());
            //map.addControl(new YMaps.SmallZoom());
            map.enableScrollZoom();
            map.enableHotKeys();
            map.enableDblClickZoom();
            //map.enableDragging();
            //map.enableMagnifier();
            //map.enableRightButtonMagnifier();
            //map.enableRuler();
        }

        function showAddress (value) {
            map.removeOverlay(geoResult);
            var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
            YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
                if (this.length()) {
                    geoResult = this.get(0);
                    map.addOverlay(geoResult);                   
                    map.setBounds(geoResult.getBounds());
                    map.setZoom(map.getZoom()+1);
                }else {
                    alert("Ничего не найдено, измените поисковый запрос.")
                }
            });
        }       
    </script>
</head>

<body scroll=no bgcolor="buttonface">
    <div align="center">
    <form action="#" onsubmit="showAddress(this.address.value);return false;">
        <input type="text" id="address" style="width:525px;" value="{address_show}" />
        <input type="submit" value="Искать" />
    </form>
    <div id="YMapsID" style="margin: 15px 0 0 0; height:480px; width:100%; border: 1px solid #aaa"></div>
    </div>
</body>

</html>


В гугл картах есть функция для исправление глюков Браузера IE и памятью.. А в Яндекс чёт найти немогу:(


1 комментарий
API 1.x
Введение в API Яндекс.Карт
mcronni
3 июля 2009, 13:42

Представляем вашему вниманию "Введение в API Яндекс.Карт"

Это результат работы с массой ваших вопросов. В документе мы объединили самую востребованную и самую важную информацию для начинающих пользователей API Яндекс.Карт.

Мы постарались сделать так, чтобы после прочтения статьи вы узнали что можно делать с помощью API, а вот о том как это делать вы узнаете перейдя по ссылкам в документцию.

 

P.S. Ждём ваших откликов, пишите если что-то непонятно или что-то важное нужно добавить.

Нет комментариев
API 1.x
xml/http api
aquavitale
4 июля 2009, 16:48
Привет. Не планируется ли xml/http API, в частности, к маршрутизатору? Например, хочется создать приложение, получающее из Яндекс.Карт маршрут и обрабатывающее его на серверной стороне приложения. Сейчас маршрут, если я правильно понимаю, доступен только как js-объект в пользовательском браузере и обрабатывать его можно только javascript-ом на пользовательской машине, что во-первых не всегда удобно, а во-вторых на сложных задачах может сильно понизить производительность. upd: Есть, конечно, неприятное решение. Получение промежуточных данных на клиентской стороне, генерация hidden-формы и автоматический submit ее на сервер. Неприятность в двух запросах вместо одного, к тому же не на всех платформах будет работать.
1 комментарий
API 1.x,YMapsML
украина
wetrow85
5 июля 2009, 19:11

а как реализовать процесс (модерируемый) типа введите адрес (город улица дом) а на карте появляется текст пользователя

2 комментария
API 1.x
Заголовок не указан
trehleb
6 июля 2009, 12:59

Яндекс.Пробки в Яндекс.Картах — возможно ли добавить в Яндекс.Карте кнопку "Показать пробки", чтобы отобразилась информация о загруженности улиц?

Спасибо!

 

1 комментарий
API 1.x
Гео-координаты тайла
toivonens
6 июля 2009, 19:36

Можно ли из номера тайла (x и y) и зума получить гео-координаты середины тайла или левого верхнего угла тайла?

Спасибо.

4 комментария
API 1.x
Prototype и Яндекс Карты.
meekman74
7 июля 2009, 11:32

Добрый день!


Использую новую версию Яндекс.Карты 1.1 и библиотеку прототип версии 1.6.0.3(или даже 1.6.1b3RC).

Файрфокс ругается на:

R is undefined
[Break on this error] (function(G){(f

unction(){var b=this,W,l=...K(G.WayPoint,G.GeocoderResult)})(YMaps);

Хром ругается на:

Uncaught TypeError: Cannot call method 'split' of undefined

YMaps.js:11


Возможно ли использование этих двух продуктов вместе?


11 комментариев
API 1.x
Заголовок не указан
toalexeyfirsov
7 июля 2009, 12:59

Добрый день.

Есть сайт, посвящённый радиации. Хотим сделать карту, на которой каждый посетитель сможет оставить метку, где был произведён замер радиации и её значение. Нечто вроде карты радиации России.

Подскажите, пожалуйста, как это реализовать?

Спасибо.

5 комментариев
API 1.x
Обозначение районов цветом
anokhina2402
7 июля 2009, 18:43

Доброе время суток.
В новой версии появилась возможность строить полигоны. Можно ли, используя эту возможность обозначать цветом районы города?
Заранее благодарна за ответы.


3 комментария
API 1.x
При добавлении карты вылетает ошибка
f.perfume
8 июля 2009, 11:19

Здравствуйте, вот проект http://yarmarka.dn.ua/index.php?option=com_rea&task=intro&agency_id=1&estate_id=1

При инициализации карты, появляется ошибка типа undefined - есть null или не является обьектом, и соответственно перестает работать ajax(ссылки над предложениями). Подскажите пожалуйста, где может быть ошибка.  Вот код скрипта:

$(document).ready(function()
  {
    var map, placemark;
    init();   
  }
);

//инициализация
function init () {
  var pointCenter = new YMaps.GeoPoint(37.768534,47.991293);
  map = new YMaps.Map(document.getElementById("YMapsID"));
  map.setCenter(pointCenter, 11);    
  map.addControl(new YMaps.SmallZoom());
  //map.enableScrollZoom();
 
  var objManager = new YMaps.ObjectManager();
  map.addOverlay(objManager);    
  //получаем все обьекты
  var objects = $('#all_object').attr('value');
  var arr_objects = objects.split(':');
  for(var x=0; x<arr_objects.length; x++){    
     var data = $("#"+arr_objects[x]).attr('value');
     add_mark(data, objManager, mark_style(x));    
  }
}
//добавляем метку            
function add_mark(value, objManager, style){
  var url = value.split(':');
  for(var a=0; a<url.length; a++){
    var content = url[a].split("(");    
    full_content = content[0]+'<br/>';
    if(content[1]) full_content += content[1];    
    showAddress(url[a], objManager, style, full_content);
  }          
}
//создаем метку            
function showAddress (value, objManager, style, content) {
var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});                     
YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
    if (this.length()) {
      var geoResult = this.get(0);
      var coords = geoResult.getGeoPoint().toString().split(",");                     
      point = new YMaps.GeoPoint(coords[0], coords[1]);
      var placemark = new YMaps.Placemark(point, {draggable: false, hideIcon: true, style: style});      
      objManager.add(placemark);
      setBalloonInfo(placemark, geoResult.getGeoPoint(), content);
    }
  });
}
//создает описание
function setBalloonInfo (placemark, geoPoint, text) {
  var content = '';
  if (text) {
  content += '<div class="title">' + text + '</div>';
  }
  placemark.setBalloonContent(content);               
}
//стили меток
function mark_style(id){
  var style = '';
  var path = $("#map_path").attr("value");
  var object_icon = $("#map_icon").attr("value");
  var icon = object_icon.split(':');

  style = new YMaps.Style();
  style.iconStyle = new YMaps.IconStyle();
  style.iconStyle.offset = new YMaps.Point(-10, -26);
  style.iconStyle.href = path+"/"+icon[id];
  style.iconStyle.size = new YMaps.Point(21, 28);
  style.iconStyle.shadow = new YMaps.IconShadowStyle();
  style.iconStyle.shadow.offset = new YMaps.Point(0, -25);
  style.iconStyle.shadow.href = "";
  style.iconStyle.shadow.size = new YMaps.Point(25, 23);
  YMaps.Styles.add("example#customPoint", style);
  return style;
}
2 комментария
API 1.x
Рвет балоны
DukereD
8 июля 2009, 15:50

вот создал страничку.. и почему-то рвет "балон" http://www.oz-on.ru/test/19/index.php?clear_cache_session=Y

вот картинка

памажите пажалуйста;)

3 комментария
API 1.x
Подскажите пожалуйста!
vanes99
8 июля 2009, 20:38

Как сделать ТАКУЮ карту, с возможностью добавления точек, но чтобы точки мог добавлять только я.

  Заранее спасибо, и извеняюсь за вопрос.


 

2 комментария
API 1.x