Клуб API Карт

Yandex Map 2.0 на iPhone

Пост в архиве.

Код работает во всех браузерах, работает на Android, но НЕ РАБОТАЕТ на iPhone.

Не работает - означает, что в элементе DIV карта не двигается - начинает двигаться вся HTML страница.

Подскажите пжл-та где грабля.

 

Вот основные моменты кода:

----------

<meta name = "viewport" content = "user-scalable=no, initial-scale=1.0, maximum-scale=1.0, width=device-width">

.....

ymaps.ready(init);

function init () {

                var myMap = new ymaps.Map('map', {

                                          center: [55.76, 37.64],

                                          zoom: 10

                                          });

            }

 

.....

<div id="map" style="width:300px; height:300px"></div>

----------


Вроде все максимально просто. Уже пробовал создавать свои CSS для элемента DIV:

 .scrollable {

                position: absolute;

                top: 50px;

                left: 0;

                right: 0;

                bottom: 0;

                overflow: scroll;

                -webkit-overflow-scrolling: touch;

            }

            

Пробовал подключать тач event через jquery:
 $(document).bind("mobileinit", function(){
                             $.mobile.touchOverflowEnabled = true;
                             });
Не работает. Причем зараза почти тот же код, но для Google Maps работает отлично:
var myOptions = {
                            zoom: 8,
                            center: new google.maps.LatLng(-34.397, 150.644),
                            ____sensor: true____
                        };
                        map = new google.maps.Map(document.getElementById('map_canvas'),
                                                  myOptions);
....

<div id="map_canvas"></div>

 

Я пример с Googlе привел не для того, чтобы как-то задеть разработчиков Yandex - может я просто какой-то ключ забыл добавить....

 

Спасибо!

7 комментариев
Sergey Konstantinov
28 января 2016, 04:17
Дайте адрес страницы, пожалуйста.
alexander.golovin77
28 января 2016, 04:17

Выложил сюда:

http://hatometr.com/test/yandex-map-test.html

 

На iPhone нормально работает через Safari. Я же использую Phone Gap - для создания "нативного" приложения.

--------------

По сути уточняю - не работает в WebView (iPhone).

--------------

Прошу извинить - изначальная формулировка вопроса была некорректной. Но похожий код для Google Maps в WebView работает корректно.

Sergey Konstantinov
28 января 2016, 04:17
В WebView должно заработать в следующем релизе.
alexander.golovin77
28 января 2016, 04:17

Скажите пжл-та, когда будет релиз с поддержкой UIWebView (iPhone)?

 

Кстати, для Android в WebView все работает корректно. Т.е. будет добавлена поддержка именно для iPhone?

Будет добавлена для всех.

Проблема исключительно в том что карты не понимают что это за браузер и не включают себе мутитач.

Егор Цынкевич
28 января 2016, 04:17

Мы у себя решили это так:

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; ru-ru) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5", @"UserAgent", nil];

    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];

вставить в - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

работает!