Android: получение неверного файла KML из карт Google - PullRequest
3 голосов
/ 08 июня 2010

Я пытаюсь получить и отобразить живой файл .kml с maps.google.com, используя

Uri.parse("geo:0,0?q=http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=104538451667315338387.0004887d133ba2ab6eec9&ll=42.029611,-93.646109&spn=0.011396,0.022724&z=16l&output=kml");

Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapUri);

startActivity(Intent.createChooser(mapIntent, "lol"));

Однако после открытия карты я получаю уведомление: «Карта сообщества не может быть отображена, поскольку она содержит ошибки»

Эта ошибка появляется только в том случае, если я загружаю файл .kml непосредственно с maps.google. Если я скопирую ту же самую ссылку в адресную строку, скачаю файл .kml и загрузлю его в другое место, тогда он будет работать нормально. Я хотел бы иметь возможность получать карты напрямую от Google, чтобы я мог внести изменения, и они сразу же будут отражены для моих пользователей.

Ответы [ 4 ]

2 голосов
/ 15 декабря 2010

У меня была та же проблема - если вы используете "&" в качестве разделителя параметров, Google Maps для Android обрезает URL, поэтому вместо этого используйте "% 26":

Intent navigateToIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
    "geo:0,0?q=http://m.konzoomer.com/kml?id=" + id +
    "%26latitudeE12=" + latitudeE12 + "%26longitudeE12=" + longitudeE12 +
    "%26radiusMeters=" + radiusMeters));
1 голос
/ 12 сентября 2010

Я решил это некоторое время назад и подумал, что обновлю для всех, кто столкнулся с этой проблемой.Решением, которое я использовал, было копирование ссылки на пользовательскую карту, добавление & output = kml и использование службы сокращения ссылок.По какой-то причине Android просто не нравится URL, который дает карта Google, и у него нет абсолютно никаких проблем с самим файлом.

Это далеко не элегантное решение, поскольку я полагаюсь как на Google Maps, так и на MyУкорочение URL по выбору, чтобы работать, чтобы получить файл KML на телефон пользователя.Если один из них завершится неудачно, моя система не будет работать.

Я открыт для других вариантов и изменит свой ответ, если появится другой.

1 голос
/ 08 июня 2010

попробуйте отобразить загруженные Android данные в виде текста (например, через System.out.println), возможно, оно содержит описание сообщения об ошибке Google

0 голосов
/ 08 июня 2010

Что если вы создадите намерение с помощью простой ссылки maps.google.com, без "& output = kml"?

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