Google Maps API v3: SVG-графический клип / исчезает при увеличении - PullRequest
0 голосов
/ 07 марта 2012

Тестовая ссылка: http://kwestievan.nl/reizen

Что я здесь делаю: реализовал свой собственный OverlayView для рисования изогнутых линий от маркера к маркеру со стрелками в конце каждой строки с помощью SVG.Я добавляю элемент div к карте, который имеет определенную ширину и высоту, чтобы содержать линию и стрелку.Затем я помещаю встроенный SVG-код в этот div, чтобы браузер мог нарисовать линию и стрелку.

При просмотре в Safari или Chrome происходит очень неприятное и неожиданное поведение.В Safari вся графика SVG исчезает за пределами определенного уровня масштабирования, а в Chrome стрелки в конце строки исчезают и снова появляются при случайном уровне масштабирования, что кажется.В Firefox и Opera такого поведения нет, и стрелки видны при любом уровне масштабирования.

Не обращайте внимания на красные рамки и / или смещение некоторых стрелок.Это работа в процессе.

Что здесь происходит?SVG не полностью совместим с Google Maps или я делаю что-то не так?

Ответы [ 3 ]

1 голос
/ 07 августа 2012

Маркер с инфоокном Shadow?Очевидно, что для вашей тени маркера установлены те же значения, что и для infoWindow.Дублирующая переменная может быть?Измените имя вашего маркера тени «путь».Возможно, вы случайно использовали тот же идентификатор для имени пути маркера, что и infoWindow путь тени.

Я согласен со звездой.Началось создание сложных путей SVG для значков polyLine, и они наполовину исчезают при размещении в определенных положениях и уровнях масштабирования (т. Е. Когда они перекрывают 2 элемента карты).В этом виновата геодезическая коррекция.

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

Я не понимаю, почему polyLine и его значки не могут находиться над слоем карты и поэтому избегают его особенностей.

В основном я потратил много времени и оченьразочарован результатами размещения SVG на polyLine.Я действительно хотел продать свой график планирования и составления карт автобусов транзитным компаниям.Но графически это просто не на уровне, с которым я бы чувствовал себя комфортно.То есть автобусы наполовину исчезают и вновь появляются на следующей плитке.

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

Кстати.Вы можете создавать дуги, используя polyLine и polygon.

0 голосов
/ 09 марта 2012

Я делаю успехи. Если вы посмотрите на тестовую ссылку прямо сейчас, то увидите, что в Chrome стрелки остаются там, где они должны быть достаточно постоянными, независимо от того, какой у вас уровень масштабирования. Safari по-прежнему теряет всю графику SVG после определенного уровня масштабирования. Даже обычные экземпляры Google InfoWindow имеют эту проблему, как вы можете видеть на тестовом веб-сайте с последним маркером (немного уменьшите, чтобы увидеть его).

Судя по этому, я думаю, что сейчас на самом деле есть ошибка в Google Maps. Может ли кто-то еще подтвердить, что само InfoWindow (а не тень) исчезает после определенного уровня масштабирования (где-то после среднего уровня)? Вот так:

Safari looses InfoWindow past zoom level

0 голосов
/ 08 марта 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...