ysukharenko: (Default)
2012-09-27 11:49 am
Entry tags:

Open Apple Maps on iOS 6 from Web

Стала проблема – на iOS 6 новые карты и старые ссылки типа http://maps.google.com/maps?q=… не работают. Точнее работают, но открывают веб-версию Google Maps, что не есть кошерно. Задача открывать именно Apple-карты, встроенные в приложение.

Проблема решается очень легко.

1. Где-нить в районе includes/function.php вставляем маленькую функцию:

function is_iOS6()
{
  if (isset($_SERVER['HTTP_USER_AGENT']) &&
    (strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone OS 6') !== false))
      return true;
    else
      return false;
  }

2. В коде где будет стоять линк на карту вставляем следующее (в $gmapAddress у меня уже забит адрес типа “123 Main Street W, Toronto, ON”):

if (is_iOS6()) {
  $map_url = "http://maps.apple.com/maps?q=" . $gmapAddress;
} else {
  $map_url = "https://maps.google.com/?q=" . $gmapAddress;
}

3. А дальше еще проще:

<a href="<?=$map_url?>">Your link to map</a>

4. Profit!

P.S. Для открытия карт в режиме навигации используем как и раньше ?saddr=…&daddr=… – т.е. все параметры остались прежними. Только вместо maps.google.com юзаем maps.apple.com.


Originally published at Scorp.ca