Можно ли передать местоположение или параметры поиска в comgoogleearth: // в iOS? - PullRequest
3 голосов
/ 30 ноября 2011

Если приложение Google Планета Земля установлено на iPad (с iOS 4.2 или 5.0.1), схема URL-адреса ссылается на comgoogleearth: // отHTML-документ в Safari или PDF-файл в GoodReader откроет приложение.

Есть ли способ предоставить параметр для указания местоположения в виде поиска или в виде файла в .kml или .kmz?До сих пор я безуспешно пробовал разные синтаксисы.

Я уже знаю, как открыть местоположение в приложении Google Карты - используя ссылку http://maps.google.com/ с соответствующими параметрами поиска.это «взломано» в приложении «Карты» вместо веб-сайта.

Я бы хотел сделать то же самое с Google Планета Земля, если это возможно.

1 Ответ

2 голосов
/ 11 декабря 2011

Непосредственно нет, на сегодняшний день протокол приложений Apple для Google Планета Земля не поддерживает какие-либо запросы.

NSString *stringURL = @"comgoogleearth://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url]

Однако вы можете получить функции, которые вам требуются, косвенно, с помощью сценария CGI в открытом доступе.доступ к серверу довольно легко.

1) Создайте скрипт CGI, который будет принимать заданную широту и долготу, и создайте простой KmlPlacemark с указанным местоположением.

например, в PHP:

<?php
// Get the latitude and longitude from the query
if(is_numeric($_GET["lng"]) && is_numeric($_GET["lat"])) {
  $lng = $_GET["lng"];
  $lat = $_GET["lat"];
} else {
  exit();
}

// Creates an array of strings to hold the lines of the KML file.
$kml = array('<?xml version="1.0" encoding="UTF-8"?>');
$kml[] = '<kml xmlns="http://earth.google.com/kml/2.1">';
$kml[] = ' <Document>';
$kml[] = '   <Placemark id="">';
$kml[] = '   <Point>';
$kml[] = '   <coordinates>' . $lng . ','  . $lat . '</coordinates>';
$kml[] = '   </Point>';
$kml[] = '   </Placemark>';
$kml[] = ' </Document>';
$kml[] = '</kml>';
$kmlOutput = join("\n", $kml);
header('Content-type: application/vnd.google-earth.kml+xml');
echo $kmlOutput;
?>

2) Вызовите протокол приложения Apple для Google Планета Земля, используя URL-адрес созданного нами скрипта CGI, который предоставляет необходимые координаты.например,

comgoogleearth://www.yourserver.com/kmlScript.php?lng=53.2&lat=34.34

Когда URL-адрес загружен, приложение Google Планета Земля отправится в указанное местоположение.

Этот метод можно использовать для создания местоположения из поиска (геокодирования) с небольшими изменениями.без труда.

Единственное ограничение - это то, что устройство IOS должно иметь доступ к серверу, на котором находится скрипт CGI (не будет работать в автономном режиме)

...