как повернуть div карты google без изменения функции перетаскивания карты

Вопрос, размещенный ниже , как повернуть карту Google в веб-приложение можно использовать для поворота карты, поворачивая div, содержащий карту

но если я прокручиваю или перетаскиваю карту, карта работает непредсказуемым образом, есть ли способ сохранить эти функции такими, какие они есть?

Примечание: я поворачиваю карту с помощью div, потому что в этом месте недоступны плитки с воздуха.

Пожалуйста, скажите, можно ли это сделать с помощью какого-либо другого API карты, как это сделать в API карты Google.


person Dhana Lakshmi    schedule 10.12.2015    source источник


Ответы (1)


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

Вы вращаете отображение карты, но координаты x, y вашей мыши - нет. Когда вы перетаскиваете мышь, javascript фиксирует движение мыши относительно экрана, а затем вы поворачиваете вывод на 45 градусов. Другими словами, карты Google не знают, что вы повернули его. Это будет тот же результат, если вы просто повернете монитор на 90 градусов, мышь по-прежнему будет отправлять те же координаты x, y.

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

Здесь можно начать искать центр карты при событиях мыши: https://developers.google.com/maps/documentation/javascript/3.exp/reference#MouseEvent

Возможно, вы сможете получить текущие координаты и «преобразовать» новые координаты, взглянув на этот пример получения пикселей: https://developers.google.com/maps/documentation/javascript/examples/map-координаты

Вот страница, объясняющая некоторые аспекты преобразования систем координат: http://www.continuummechanics.org/cm/coordxforms.html

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

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

person Joshua Morgan    schedule 10.12.2015