Откройте приложение iPhone map по ссылке на Google maps с KML в качестве запроса

Как заставить приложение iPhone map открыться, когда ссылка на веб-странице переходит в maps.google.com/?q=http://example.com/mapdata.kml?

Если я открою приложение Карты и специально поставлю http://example.com/mapdata.kml в поле запроса все данные загружаются правильно. Но если я использую http://maps.google.com/?q=http://example.com/mapdata.kml, приложение Карты загружается, но данные не загружаются, и в запросе ничего нет коробка.

типичные запросы работают, как q=Купертино или q=[широта, долгота]. Кажется, это ссылка kml, которая сломана.

кто-нибудь получил эту работу? Это поддерживается? Вы должны URI кодировать запрос?

3 ответов


Ваш вопрос заинтересовал меня, поэтому я немного огляделся на ссылка на схему URL Apple. В нем говорится следующее:

хотя приложение Maps поддерживает многие из параметров Google Maps и запросы, он не поддерживает их все. Правила создания допустимой карты ссылка выглядит следующим образом:

домен должен быть google.com и поддомен должен быть maps или ditu.

в путь должен быть /, /карты, / местный, или / М если запрос содержит site в качестве ключа и местные как ценность.

путь не может быть /maps/*.

все параметры должны поддерживается. См. таблицу 1 для списка поддерживаемые параметры.

параметр не может быть q=*, если значение является URL (таким образом, KML не подобран).

в параметры не могут включать view=text или dirflg=r.

Если я правильно читаю, это не так похоже, что то, что вы хотите, поддерживается, однако интересно, что вы можете ввести полный URL kml в приложение maps напрямую и заставить его работать. Это похоже на ошибку со стороны Apple. Я бы просто начал бросать в него параметры и посмотреть, что произойдет. Это всегда весело. ;-)

С Уважением,

п.С. Что is хорошая наклейка. Я бы предпочел награду, но, похоже, вы еще не набрали достаточно очков, чтобы предложить это. ;-)


эта ссылка будет делать то, что вы хотите

<a href="maps:q=http://example.com/mapdata.kml">

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

<a href="http://maps.google.com?q=http://example.com/mapdata.kml">

URL карты в простейшей форме

maps:q=GivenTitle@latitude, longtitude