Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 455 сообщений
Cообщения с меткой

google maps - Самое интересное в блогах

Следующие 30  »
all_andorra

“Andorra was the first country in the world to have its entire retail business offering on Google Maps through Google Business View”, says Consul Gene

Пятница, 15 Сентября 2017 г. 18:52 (ссылка)


https://all-andorra.com/andorra-first-country-worl...sa-barcelona-marcos-mandojana/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
all_andorra

Центр образования взрослых в Ла Сеу д’Уржель начинает регистрацию на бесплатные языковые и компьютерные курсы

Понедельник, 11 Сентября 2017 г. 19:45 (ссылка)


https://all-andorra.com/ru/tsentr-obrazovaniya-vzr...azykovye-i-kompyuternye-kursy/

Комментарии (0)КомментироватьВ цитатник или сообщество
Anabelle21

ВИРТУАЛЬНЫЙ ПОХОД В МУЗЕЙ ПРИ ПОМОЩИ GOOGLE MAPS

Четверг, 15 Июня 2017 г. 18:50 (ссылка)

Это цитата сообщения loreleya-46 Оригинальное сообщение

Виртуальный поход в музей при помощи Google Maps






 



Как известно,



у  Google Arts & Culture



уже есть приложение, с помощью которого можно просматривать работы художников. В него входят виртуальные туры и даже функция «Shazam для картин», при помощи которой можно определить автора любого произведения искусства. Тем не менее, компания решила пойти ещё дальше и перенесла новые возможности в Google Maps: теперь можно путешествовать по виртуальным музеям и даже читать аннотации к произведениям искусства, не покидая карт.







Так, например, при поиске картин Густава Климта Google Maps найдёт список музеев, в которых находятся его работы. А после этого можно будет увидеть, как они смотрятся в музейном пространстве, и даже увеличить картину до крупных размеров, чтобы разглядеть мельчайшие детали.



Функция увеличения картин доступна только в тех музеях, которые участвуют в программе Google Arts & Culture, — сейчас их насчитывается около 440. В рамках пректа компания смогла отсканировать в целом более 15 тысяч работ.



Успехов!







OE_f4587367de394366976a44185507b385 (300x200, 76Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Динамическая таблица поверх Google Maps

Среда, 14 Июня 2017 г. 19:33 (ссылка)

Введение



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



К сожалению (или к счастью?), готовых решений я не нашёл. Google Карты позволяют накладывать маркеры и фигуры на карты, но эти способы представляют слишком мало информации. С Яндекс картами оказалось не лучше. Но Карты Гугл имеют механизм пользовательских наложений с HTML-содержанием. И для инкапсуляции этой работы с картами и наложениями я создал JavaScript библиотеку GMapsTable. Возможно, кому-нибудь она окажется интересной или полезной. Рабочий пример.



image



Условности

Чтобы не возникло путаницы, параметр zoom будем называть приближением карты, а scale — масштабом. Первый относится к Google Maps API, а второй к описываемой библиотеке.



Задача в целом



Итак, что у нас есть? Какой-нибудь источник данных (например, сервер с базой данных, обрабатывающий и посылающий данные в формате JSON) и веб-страничка с JavaScript, которая запрашивает данные и визуализирует их на Картах Гугл.



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



Основное содержание HTML страницы для GMapsTable:



 ..в :



..в :


GMapsTable позволяет абстрагироваться от взаимодействия с GoogleMaps API. Вам нужно лишь предоставить подходящий объект с данными. Время перейти к JavaScript'y! Чтобы использовать GMapsTable, нужно получить объект DataContainer для Вашего div'a карты:



// Аргумент: ID div'а
// и словарь параметров GoogleMaps,
// это не обязательно
var container = new DataContainer("map", {
zoom: 9,
center: {lat: 55.7558, lng: 37.6173},
mapTypeId: 'roadmap'
});


Затем нужно передать две функции:



container.dataLoader = function (scale, borders) {
... вызвать container.processData(some_data);
}

container.scaler = function (zoom) {
... return какое-нибудь число;
}


Но что именно писать внутри функций?.. Для начала разберёмся, как работает GMapsTable.



Data для DataContainer



DataContainer занимается отображением Ваших данных и заботится о том, когда оно должно быть обновлено. В самом начале и когда изменяются приближение и границы "камеры", он пробует использовать сохранённые данные, а если их нет, то вызывает функцию dataLoader. Вам нужно сгенерировать объект с данными и передать его функции DataContainer.processData. Структура объекта должна быть такая:



data: {
minLat: float,
difLat: float,
minLon: float,
difLon: float,
scale: int,
table: [
[value, value, ...],
[value, value, ...],
...
],
tocache: boolean
}


Значением (value) может быть число, строка или любой объект, если вы укажите собственную функцию форматирования ячейки таблицы. Масштаб (sale) это целое число, говорящее, на сколько частей должны делиться единицы широты и долготы. Параметр tocache указывает, должны ли данные для текущего масштаба быть сохранены и более не запрашиваться.



Пример объекта данных
data: {
minLat: 55.0,
difLat: 2.0,
minLon: 37.0,
difLon: 1.0,
scale: 2,
table: [
[1, 3, 0, 1],
[0, 1, 2, 0]
],
tocache: true
}


Здесь данные покрывают область от 55.0, 37.0 до 57.0, 38.0 и делят каждую единицу широты и долготы на 2 части (получается, одна клетка широты-долготы делится на 4 части). Также здесь указано, что для данного масштаба это полные данные, и они должны быть сохранены для использования в дальнейшем.



Перевод приближения в масштаб



Приближение (zoom) это параметр Google Maps API, целое число между 1 (карта мира) и 22 (улица). Запрашивать и хранить данные для каждой единицы приближения неудобно и нецелесообразно, поэтому GMapsTable переводит их в масштаб (scale) — число, указывающее, на сколько частей нужно делить единицу широты и долготы.



Сохранение данных



Чтобы отображение при изменении масштаба было моментальным, GMapsTable хранит наборы данных для некоторых (либо всех) масштабов. Например, у меня была база данных с координатами почти со всей России — около 42 тысяч ячеек для масштаба 10 (500 КБ, довольно легко хранится и обрабатывается у меня в десктопном браузере) и 17 миллионов для масштаба 200 (несколько МБ, вызывает значительные подвисания). Поэтому сервер оценивает число ячеек всех данных, и если их немного, отправляет данные из всей БД, иначе только для запрошенного региона. Получается такой алгоритм:



алгоритм обновления таблицы GMapsTable



Границы (bounds) — это объект JavaScript с полями minlat, maxlat, minlon, maxlon — текущими границами Google Maps и хорошим отступом про запас.



В Вашей реализации dataLoader Вы можете смело игнорировать аргументы, если нет нужды использовать разную детализацию для разных масштабов или если Ваши данные не покрывают такой большой регион. Просто передайте данные и их границы по широте и долготе и scale, на сколько разбиваете единицы широты-долготы. Но для полноты картины я предлагаю такое поведение функции dataLoader (или сервера, к которому она обращается):



алгоритм генерации объекта данных для GMapsTable



Список всех параметров



Вы можете указать такие параметры для DataContainer:



1) scaler(zoom) — переводит приближение из GoogleMaps в масштаб для GMapsTable. Оба целые числа.



2) dataLoader(scale, borders) — вызывается, когда нужны новые данные. Должен передать объект данных в DataContainer.processData(data).



Параметр borders это объект JavaScript с полями minlat, maxlat, minlon, maxlon — текущими границами Google Maps и хорошим отступом про запас.



3) tableBeforeInit(map, table, data) — вызывается перед тем, как таблица начинает заполняться ячейками. Аргумент map это объект Google Maps, table это HTML элемент таблицы, а data — предоставленный Вами объект данных для текущего масштаба.



4) cellFormatter(td, val) — вызывается для заполнения ячейки. td это HTML element, ячейка таблицы. val это данные из Вашего объекта данных.



5) boundsChangedListener(zoom) — вызывается, когда изменяются границы Google Maps.



6) minZoomLevel, maxZoomLevel — переменные для минимального и максимального приближения карты. Целые числа между 1 (карта мира) и 22 (улица).



Для успешной работы DataContainer необходимы только первые две функции.



Пример и исходники



Полный и хорошо прокомментированный пример использования: HTML-страничка и JS-код.

А также есть GMapsTable в GitHub.


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/330920/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество
Огонёк_Стефания

История одного мартовского дня.

Среда, 16 Марта 2017 г. 00:39 (ссылка)

История одного мартовского дня.
Со времен Титаника ничегошеньки в мире не изменилось. Авантюристы, пройдохи, беженцы и разного рода проходимцы со всего мира едут с надеждой на новую жизнь в Америку. Ровно год назад ваш покорный слуга приземлился в Нью-Йорке в аэропорту JFK. Тот полет я помню до сих пор в мельчайших подробностях.

17201433_1377042052365895_3235584839631590031_n (700x366, 40Kb)

Продолжение
Комментарии (0)КомментироватьВ цитатник или сообщество
perly

Google Maps продолжает политику конфиденциальности в Новоалтайске » Перлы.ру

Суббота, 15 Октября 2016 г. 07:44 (ссылка)
perly.ru/fotoperlogalereya/...ayske.html


Картографический сервис Google Maps снова порадовал общественность. На этот раз на интерактивной Гугл-карте при панорамном просмотре Балтийской улицы в Новоалтайске российскими

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<google maps - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda