получить googlemaps для принятия локального файла KML? - PullRequest
4 голосов
/ 05 марта 2010

Я пытаюсь заставить googlemaps принимать локальный файл KML.

final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=file://" + Environment.getExternalStorageDirectory() + "/locate.kml"));
startActivity(myIntent);

Файл находится на SD-карте и является действительным файлом kml. Googlemaps загружается, но говорит, что не может найти файл.

final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=http://www.website.com/locate.kml"));
startActivity(myIntent);

Работает нормально. geo: 0,0? q = кажется очень недокументированным, кто-нибудь может мне помочь с тем, как использовать его для ссылки на локальный файл?

Ответы [ 3 ]

1 голос
/ 03 июня 2012

Мне кажется, проблема в том, что когда вы пытаетесь открыть URL-адрес с помощью карт Google, приложение отправляет запрос на поиск в Google, используя указанный вами URL.
Затем серверы Google получают данные по предоставленной вами ссылке и возвращают результат.

Так как серверы Google не могут получить доступ к URL-адресам, таким как «file: //» или любым локальным, таким как «http://localhost'», вы получаете ошибку Вот почему вторая команда работает, серверы Google могут получить доступ http://www.website.com/locate.kml

0 голосов
/ 05 марта 2010

Кажется, это невозможно сделать до Android 2.1

http://code.google.com/p/android/issues/detail?id=2454

0 голосов
/ 05 марта 2010

JavaScript работает в песочнице, поэтому он не может получить доступ к локальным файлам без проприетарных расширений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...