2014-02-12 1 views
0

У меня есть карта, в которой щелкнуть область для увеличения, работает в FireFox, но не в Chrome, Opera и Safari. Карта может быть просмотрена на http://tcan.ca/content/tcan-neighbourhood-membersD3.js Невозможно получить масштабирование карты для работы в браузерах Webkit

У кого-нибудь есть предложения о том, что может быть причиной этого?

ответ

0

Вы не можете использовать преобразования непосредственно на элементе <svg> в webkit - и даже в других браузерах он не всегда будет делать то, что вы ожидаете.

Элемент верхнего уровня <svg> размещен на веб-сайте как объект HTML (аналогично <div>). Преобразования, применяемые к нему, интерпретируются как преобразования HTML/CSS. Синтаксис преобразования CSS еще не завершен, и браузеры webkit поддерживают только префиксную версию -webkit-transform.

Вместо сделки с несколькими синтаксисами преобразования, добавить <g> элемент внутри вашего <svg>, добавьте все ваше графическое содержимое в <g>, а затем объявлять SVG-преобразования на <g>. Он будет работать во всех браузерах, поддерживающих SVG.

+0

Я читал, что использование группы может решить эту проблему, но пока не повезло. Вероятно, я неправильно определил определение группы. Если вы можете сэкономить время, просмотрите http://jsfiddle.net/PatriciaW/CnLT2/ и сообщите мне, какая ошибка. – PatriciaW

+0

Вы правильно добавляли элемент '' и добавляли к нему контент, но ваши функции обработки событий все еще применяли преобразования на ''. Вот рабочая версия вашей скрипки с теми изменениями, которые были сделаны для функций щелчка и сброса пути (возможно, вам придется внести аналогичные изменения в функции, связанные с вашими точками круга, я не проверял этот код): http: // jsfiddle. net/CnLT2/1/ – AmeliaBR

+0

Замечательно. Сначала, когда я протестировал его, круги не масштабировались с помощью карты, но мне удалось разобраться в этом, и теперь он корректно работает на FF и Chrome. - Большое спасибо. – PatriciaW