Scribble Maps Blog
← All posts

Scribble Maps Blog

Наш самый крупный релиз: мобильная версия и API.

Мы невероятно рады (и немного облегчены) наконец-то представить новую версию Scribble Maps. Нам есть о чем рассказать. Мы запустили новый базовый редактор, а также полноценный API.

Переход от Flash к HTML5/Javascript

Хотя многие наши пользователи могут не понимать технологических изменений, их значение очень велико. Переход от Flash к HTML5/Javascript был непростым делом, особенно потому, что мы хотели сохранить пользовательский опыт максимально близким к тому, что сделало оригинальный Scribble Maps таким популярным.

Мы хотели сделать новую версию настолько привычной, чтобы люди даже не заметили, что мы практически полностью перестроили все с нуля. Даже такие простые вещи, как кастомные курсоры, стали вызовом, так как мы стремились сохранить кроссбраузерную совместимость. В итоге новая версия работает вплоть до IE7.

После того как Google объявила о прекращении поддержки Flash-версии своего Maps API, мы определили несколько ключевых целей, которые хотели реализовать, поскольку нам все равно требовалось полностью переписать проект.


  1. Мы хотели, чтобы веб-приложение работало как на настольных компьютерах, так и на мобильных устройствах.
  2. Мы хотели создать собственный движок рендеринга, чтобы при необходимости иметь возможность переключиться на других поставщиков API.
  3. Мы не хотели нарушать Условия использования каких-либо картографических API.
  4. Мы хотели, чтобы новая архитектура была ориентирована на API, чтобы разработчики могли использовать наши инструменты создания карт в своих приложениях.

Scribble Maps на мобильных устройствах

Одним из самых частых запросов была возможность использовать Scribble Maps на мобильных устройствах, особенно на планшетах. Поскольку мы перешли на JavaScript, приложение теперь работает на планшетных устройствах.

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

Scribble Maps API

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

ScribbleMap.draw.line([[lat, lng], [lat2, lng2]], { lineColor: "#0000FF" }).click(function() { alert("I have been clicked") });


Рисование в Scribble Maps работает так же, как в canvas, поэтому вы можете заранее задать стиль и нарисовать несколько линий, которые унаследуют этот стиль. Это относится не только к фигурам, но и к таким элементам, как маркеры. Так что теперь можно делать подобные вещи.

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


Dynamic Image API

Одно из основных направлений использования Scribble Maps — это генерация изображений. При уходе от Flash это создало для нас не только огромную проблему, но и новую возможность. В других картографических API есть возможность создавать «статические изображения». Проблема этих API статических изображений заключается в том, что почти все они имеют ограничения на объем данных, которые могут быть отображены на готовом изображении.

В Scribble Maps, напротив, таких ограничений нет. Как только карта сохранена, можно запросить ее изображение независимо от того, сколько данных на ней нанесено. Кроме того, при сохранении карты старое изображение аннулируется, и при следующем запросе оно рендерится заново. Это фактически позволяет вам создавать ссылки на изображения, которые обновляются по мере изменения карты.
Ниже приведен пример одного из таких изображений.



Новый виджет

Также в версии 2.0 мы представили виджет с большим количеством элементов управления интерфейсом. Это наша первая версия, и мы будем улучшать ее в течение следующих нескольких недель.
 

Ссылки

Scribble Maps API
Группа Scribble Maps API

← All posts