Использование Google Maps для публикации точечных данных

Обсуждение материалов сайта: вопросы, замечания, предложения
Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Использование Google Maps для публикации точечных данных

Сообщение Максим Дубинин » 19 фев 2007, 21:58

Обсуждение "Использование Google Maps для публикации точечных данных и треков"

http://gis-lab.info/qa/google-web-points.html
пристегивайтесь, турбулентность прямо по курсу

Mitrich
Активный участник
Сообщения: 183
Зарегистрирован: 15 сен 2006, 16:15
Репутация: 10
Откуда: Москва

Сообщение Mitrich » 20 фев 2007, 09:16

моя копеечка в копилку
решение обратной задачи: оцифровка по ГугльМапу.
Используя инструмент на правой панели можно расставлять точки или соединять их в полилинии, а затем забирать координаты себе.
В API официально появился полигон, планирую его добавить.

http://mitrichtools.narod.ru/Metro/Metro_moscow.html
основные коды тут http://mitrichtools.narod.ru/Metro/js/metro.js

p/s/ Сайт GIS-Lab очень помог стартануть. :)

Rider
Новоприбывший
Сообщения: 8
Зарегистрирован: 29 июн 2007, 20:22
Репутация: 0

Сообщение Rider » 29 июн 2007, 20:42

Добрый день!

работал с googles maps вообчем то первый день...
ресурс очень хороший! за один день по сути все заработало!

Кроме одного! не получилось нарисовать трек, а именно соединить полученые маркеры линиями!

Причем и в примере это тоже не работает и вызывает ошибку.

map.addOverlay(new GPolyline(points)); - это однозначно ошибка

если написать так:

Код: Выделить всё

for (var i = 0; i < (numpoints + 1); i++) {
	map.addOverlay(new GPolyline(points[i]));
                  }

ошибки нет, но и линиями не соединяет...
у кого то это работает?
Спасибо!

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 29 июн 2007, 20:51

map.addOverlay(new GPolyline(points)); - это однозначно ошибка
Почему? У нас это прекрасно работает.
http://gis-lab.info/projects/piskulka/piskulka1.html
пристегивайтесь, турбулентность прямо по курсу

Rider
Новоприбывший
Сообщения: 8
Зарегистрирован: 29 июн 2007, 20:22
Репутация: 0

Сообщение Rider » 29 июн 2007, 22:35

sim писал(а):
map.addOverlay(new GPolyline(points)); - это однозначно ошибка
Почему? У нас это прекрасно работает.
http://gis-lab.info/projects/piskulka/piskulka1.html
Очень рад:) что это действитльно так!
вот собственно, что я на основе примера сделал. (я пробывал запускать и примерчик с описаний API , сыпятся ошибки)

Может скажете, где я не прав?

Код: Выделить всё

    <script type="text/javascript">
    //<![CDATA[
    function load() {
      if (GBrowserIsCompatible()) {
         var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());

		var icon = new GIcon();
                icon.image = "gm.png";
                icon.shadow = "gm.png";
		icon.iconSize = new GSize(12, 20);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);

        GDownloadUrl("data.xml", function(data) {
		  var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
		  var numpoints = markers.length - 1;
          var points = [];
		  for (var i = 0; i < markers.length; i++) {
            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
			points.push(point);
          }
		  var points2 = points.slice();
		  points2.sort(function(p1, p2) {
  		  return p1.lng() - p2.lng();
		  });
		  var west = points2[0].x;
		  var east = points2[numpoints].x;
		  points2.sort(function(p1, p2) {
  		  return p1.lat() - p2.lat();
		  });
		  var north = points2[numpoints].y;
		  var south = points2[0].y;
		  var sw = new GLatLng(south,west);
		  var ne = new GLatLng(north,east);
		  var bounds = new GLatLngBounds(sw, ne);
		  var centerpoint = new GLatLng((north + south)/2, (east + west)/2);
		  var zoomlevel = map.getBoundsZoomLevel(bounds);
		  map.setCenter(centerpoint, zoomlevel, G_SATELLITE_MAP);
		  for (var i = 0; i < (numpoints + 1); i++) {
		  	map.addOverlay(new GMarker(points[i], icon));
		  }

		  	map.addOverlay(new GPolyline(points));
        });


      }
    }
    //]]>
    </script>

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 30 июн 2007, 01:02

попробовал, все прекрасно работает и линии и точки показываются.

В каком браузере вы смотрите результат?
пристегивайтесь, турбулентность прямо по курсу

Rider
Новоприбывший
Сообщения: 8
Зарегистрирован: 29 июн 2007, 20:22
Репутация: 0

Сообщение Rider » 30 июн 2007, 11:33

Internet Explorer 7

что -то чего то значит не поддерживает....
как жеж быть?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 30 июн 2007, 18:36

Вот это сделали? Иначе линии в IE показывать не будут.

Код: Выделить всё

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
Если да, то:
а) какие ошибки выдает IE
б) пришлите ссылку посмотреть на то что вы делаете
пристегивайтесь, турбулентность прямо по курсу

Rider
Новоприбывший
Сообщения: 8
Зарегистрирован: 29 июн 2007, 20:22
Репутация: 0

Сообщение Rider » 30 июн 2007, 20:22

строчку эту прописываю!
http://www.akom.aaanet.ru/guglxml.html -там код

// map.addOverlay(new GPolyline(points)); - эта строчка там закоментирована
И еще что странно, когда я её у себя открываю, маркеры отрисовываются, а с сайта почему то нет..., что то этого вот я не понял..
http://www.akom.aaanet.ru/guglxml1.html там строчка не закоментирована. Ошибка следующая: "Неожиданный вызов метода или обращение к свойству"

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 02 июл 2007, 08:57

Проблема однозначно в заголовке. Обратите внимание, что в Firefox обе страницы показываются как надо. Попробуйте убрать мусор из самого начала и поменять:

Код: Выделить всё

<!DOCTYPE >
<html xmlns="http://www.akom.aaanet.ru" xmlns:v="urn:schemas-microsoft-com:vml">
на

Код: Выделить всё

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
[/quote]
пристегивайтесь, турбулентность прямо по курсу

Rider
Новоприбывший
Сообщения: 8
Зарегистрирован: 29 июн 2007, 20:22
Репутация: 0

Сообщение Rider » 02 июл 2007, 10:52

это поменял! на отрисовку маркеров и линий это никак не повлияло...
так жы вызывается ошибка!

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

lalex
Участник
Сообщения: 74
Зарегистрирован: 07 фев 2006, 22:54
Репутация: 0

Сообщение lalex » 08 июл 2007, 14:55

Сейчас (как подсказал Митрич), появилась возможность напрямую загрузить kml в Google, не прибегая к программированию. Не надо GEarth, не надо свое API строить и мудрить с явой. Нужно лишь у себя на сайте разместить стандартный KML (можно его поднастроить по дизайну, если надо). Там же по ссылке есть способы наложения треков для других популярных картсистем.

http://lalex.nm.ru/files/gps2map.htm

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 09 июл 2007, 08:41

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

lalex
Участник
Сообщения: 74
Зарегистрирован: 07 фев 2006, 22:54
Репутация: 0

Сообщение lalex » 09 июл 2007, 09:37

Разумеется. Но дополняет :)

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8902
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 642
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 21 июл 2007, 23:48

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

Ответить

Вернуться в «Материалы сайта»