Клуб API Карт

Найдено на тему «android»:
Не удаётся поставить несколько меток при запуске приложения Яндекс Карты через Intent
Иван
13 мая 2017, 20:45

Доброго дня.

Согласно документации отобразить метку из нативного Android-приложения можно следующим способом

Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/?ll=37.619902,55.753716&z=11&l=map");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Это код отлично сработал.


Но когда я попробовал передавть в Intent Uri следующего вида

yandexmaps://maps.yandex.ru/?pt=37.673098%2C55.757134~37.671098%2C55.797134&z=12&l=map

в приложении Яндекс Карты не отобразилось ни одной метки.

Однако, если перейти по этой же ссылки в браузере, то отображаются все необходимые метки.

Собственно, почему же не получается передать несколько меток Android-приложению?

Порекомендуете ли использовать WebView в таком случае?

Спасибо.

1 комментарий
android
Несколько маршрутов, время с учётом пробок. Интеграция с Android, iOS
work.nd
25 мая 2016, 13:28

Всем привет! 

Нужна консультация вот по какому вопросу:

Мы хотим заказать разработку Android и iOS приложения и нам нужно определиться с тем, какие карты подойдут нам лучше: Яндекс или Гугл.

Для нас важно реализовать:

  1. Построение нескольких маршрутов до разных точек по Москве с учётом пробок, расчёт времени движения по маршруту в текущей дорожной ситуации внутри приложения.
  2. Сохранение маршрута и его убывание по мере истечения рассчитанного времени в случае потери GPS сигнала.
  3. Адекватная кластеризация точек на карте при масшатбировании.

Можете подсказать, реализуемо ли это всё на API Яндекс.Карт?

4 комментария
пробки,android,iOS
Корректировка на карте (WebView Android)
denis-baidak
16 апреля 2016, 18:05

Когда я передвигаюсь по карте а потом убираю палец карта смещаться на пол сантиметра. Как избавиться от этого?

MainActivity.java:
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WebView myWebView = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);


        try {
            InputStream is = getAssets().open("MyLication.html");
            byte[] buffer = new byte[is.available()];
            is.read(buffer);
            is.close();

            String htmlText = new String(buffer);
            myWebView.loadDataWithBaseURL(
                    "http://com.d_code.webview.ymapapp",
                    htmlText,
                    "text/html",
                    "UTF-8",
                    null
            );
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

MyLication.html:

<!doctype html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MyLocation</title>
    <script src="//api-maps.yandex.ru/2.0/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

    <script type="text/javascript">
            ymaps.ready(init);

            function init () {
                new ymaps.Map('map', {
                center:[52.076015,23.723014],
                    zoom:18
                },
                {
                    suppressMapOpenBlock: true
                });
            }
        </script>
    <style type="text/css">
        html, body, #map {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        }
    </style>
</head>

<body>
<div id="map"></div>
</body>
</html>

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.d_code.webview.MainActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/webview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:clickable="false"
            android:contextClickable="false"
            android:focusable="false"
            android:focusableInTouchMode="false" />
    </RelativeLayout>

</android.support.design.widget.CoordinatorLayout>

1 комментарий
android,maps,api,WebView
Очень медленные карты в WebView
Konstantin Yakushev
25 марта 2016, 12:00

Добрый день!

Мы сделали Android-приложение, основанное на яндекс-картах, применив WebView. 

Запустили на популярных небыстрых устройствах и очень расстроились. Особенно расстроило вот что:

  1. Очень долго инициализируется карта. Я заметил, это актуально даже для официального примера.
  2. Очень медленно и грустно скроллится и зумится карта, особенно если добавить точек. Мы использовали кластеризатор с gridSize 128, но всё равно производительность неидеальная.

Подскажите, есть ли какие-то известные решения для проблем с производительностью? Что можно сделать?

3 комментария
производительность,android
Пример использования API Яндекс.Карт в Android приложении
Всеволод Шмыров
18 августа 2015, 15:29

API Яндекс.Карт можно использовать для создания мобильных приложений на основе WebView. Встраивание API Яндекс.Карт в мобильное приложение мало чем отличается от встраивания на сайт, но все же есть некоторые особенности.

Например, условия использования обязывают разработчиков при подключении API пересылать HTTP заголовок "Referer" вида "http://идентификатор_приложения_в_сторе.ymapapp". Для добавления такого заголовка существует метод loadDataWithBaseURL. Не забудьте добавить вашему приложению разрешение на использование интернета.

Я подготовил несложный пример подключения Яндекс.Карт в WebView и разместил его на Github.

14 комментариев
примеры проектов,android,API 2.1,webview,примеры реализации
Карта для отображения на мобильных устройствах с нормальными контролами
Татьяна Маричева
20 января 2015, 12:09

Проблема такова. 

Вставляю карту стандартным способом.

Браузер мобильного телефона открывает её в масштабе, то есть контролы маленькие. Ими пользоваться невозмжно.

Ссылка на схему http://www.alarmcenter.ru/schema/vdnh.html

Как сейчас http://www.alarmcenter.ru/schema/screen1.png

Как хотелось бы видет, чтоб открывалась сразу  без нажатия куда либо с любого мобильного устройства http://www.alarmcenter.ru/schema/screen2.png

 

 

 

 

1 комментарий
масштаб,android,iOS,мобильные устройства
Угол обзора карты - есть ли?
i.v.snigirev
28 ноября 2014, 12:57

Всем доброго дня!

Имеется ли возможность наклонить карту подобно тому как это делается с гуглокартами? - https://developers.google.com/maps/documentation/android/views - тут это называется "Tilt (viewing angle)".

Имеется ввиду api для андроида (или ios). Не javascript.

Гугление и поиск по sdk не дали результата.

1 комментарий
android,iOS
Доступ к Яндекс картам из мобильного приложения
etiainen
24 ноября 2014, 23:39

Здравствуйте.

 

Хочу написать приложение для Андроид и IOS, выводящее карту в качестве подложки.

Распространение - бесплатное. Назначение - отображение объектов культурного наследия, расположенных на территории РФ. 

 

Возможно ли это? Есть ли библиотеки для работы с API карт из C# (Mono или .NET)?

1 комментарий
android,API 2.1,iOS
Не отображается схема проезда на маленьких экранах
bismark03
3 октября 2014, 06:17

autovolt03.ru

Карту поставил без проблем. Видна и карта и схема проезда. Но есть проблема! На смартфонах с диаганалью экрана менее 4,5 дюймов не отображается схема проезда и сама точка на карте. Хотя карта сама при этом работает - двигается в стороны, увеличивается, уменьшается.

Решение проблемы нигде не смог найти. Подскажите пожалуйста что делать?

4 комментария
android
Android 2.3.x и SVG
ivan-germes
10 июня 2014, 02:26

Версия API 2.1, Android 2.3.x, стоковый браузер.

Не видны значки на элементах управления, не видны placemark-и.
Проверить можно здесь: http://api.yandex.ru/maps/

Подозреваю, что это связано с тем, что значки и placemark рисуются SVG.
Наверное использование PNG (как для IE8) решило бы эту проблему.

Если поддержка Android 2.3.x - это моветон,
можно ли как-то управлять процессом: какие стили будут подгружаться для карты или что-то типа того?
Хотелось бы решить проблему в пару строк (да, я знаю что можно кастомизировать каждый элемент по отдельности - но это очень лень).

Спасибо.

4 комментария
метка,API 2.1,SVG,android
Карта для приложения
Кадыров Роберт
27 марта 2014, 11:15

Имеется задача, разработки мобильного приложения, основанное на картах Яндекса.

Кто сталкивался и как решал?

6 комментариев
android,iOS
Масштаб карты на Android через WebView
Leonid Kurbatov
27 ноября 2013, 22:35

Не работает мультитач зум.

В вебвью открываю упрощённую страницу из песочницы

<!DOCTYPE html>

<html>

<head>
<title>Примеры. Задание и изменение параметров карты.</title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8"/>
<script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU"
type="text/javascript"></script>
<style>
#map {
width: 100%;
height: 100%;
}
</style>

<script type="text/javascript">
ymaps.ready(init);

var myMap;

function init () {
// Параметры карты можно задать в конструкторе.
myMap = new ymaps.Map(
// ID DOM-элемента, в который будет добавлена карта.
'map',
// Параметры карты.
{
// Географические координаты центра отображаемой карты.
center: [55.76, 37.64],
// Масштаб.
zoom: 10
}
);
}
</script>
</head>

<style type="text/css">
html, body, #map {
width: 100%;
height: 100%;
}
</style>

<body>
<div id="map" style="background-color:#FF0; overflow:hidden"></div>

</body>

</html>

 

Пробовал задавать behaviors: ['scrollZoom', 'drag', 'multiTouch'].

Работает только зум по двойному щелчку.

В webView включены параметры:

mapView.getSettings().setJavaScriptEnabled(true);
mapView.getSettings().setSupportZoom(true);
mapView.loadUrl("file:///android_asset/map.html");

 

Может нужно user-agent специальный прописать?

4 комментария
масштаб,android,API 2.0
Yandex Map Kit. Как получить текущий масштаб?
Leonid Kurbatov
27 ноября 2013, 14:55

Доброго дня!

Использую библиотеку для android http://github.com/yandexmobile/.

Накладываю изображение в качестве оверлея.

При масштабировании карты размер моего изображения не меняется.

Как можно привязать определённый размер к определённому масштабу?

 

Или я что-то не правильно делаю и вместо Yandex Map Kit нужно использовать что-то другое?

2 комментария
android,MapKit
Странные символы в ListBox
Иван Пилюгин
6 ноября 2013, 14:10

Кто-нибудь сталкивался с появлением странных символов у элемента управления ListBox при просмотре карты стандартным браузером, установленным на телефонах Samsung? Для каждого элемента списка почему-то поверх карты всегда отображается один непонятный символ. Не понимаю, как от него избавиться. При открытии списка символы пропадают.

Проблему можно наблюдать в т.ч. в песочнице: http://api.yandex.ru/maps/jsbox/controls

Смотрели на Samsung Galaxy S2 и на Samsung Galaxy One 2. Возможно, и на других дефолтных Android-браузерах есть такая проблема. На сторонних браузерах, например, GoogleChrome, проблемы нет.

3 комментария
android,элементы управления,API 2.0,контролы,пробки
Android + "position: fixed" контейнер
yanamoto
27 августа 2013, 20:57

Вообщем при работе на андройде 4.0.3 в фонгапе получается следующая ерунда: если вкладывать карту в блок с position: fixed (или какой-либо родитель или сам блок с этим св-вом), то слои карты скрывают все остальные елементы (балуны, кнопки и даже копирайты).

Это с версии 2.0.24, по 2.0.33 в фулл комплектации.

 

На данном примере скрыты копирайты, если запустить его на андройде в фонгапе (в другом браузере не проверял) 

<!DOCTYPE html>

<html>

<head>

    <title>Примеры. Балун и хинт</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <script src="http://api-maps.yandex.ru/2.0.33/?load=package.full&lang=ru-RU" type="text/javascript"></script>

    <script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">

        $(function(){

        ymaps.ready(init);

 

        function init () {

            var myMap = new ymaps.Map("map", {

                        center: [54.83, 37.11],

                        zoom: 5

                    });

        } });

    </script>

</head>

<body>

<div style="position: fixed; top:0; left:0; width:400px; height:300px">>

<div id="map" style="width:400px; height:300px"></div>

</div>

</body>

</html>

 

3 комментария
android,API 2.0
Использование данных о пробках в платном приложении под ОС Android
Удалённый пользователь
7 мая 2013, 17:42

Доброго времени суток! 

Могу ли я продавать приложение которое использует информацию содержащую сведения о времени движения по маршруту с учетом пробок?

Сами "Яндекс.Карты" в приложении не используются, время по маршруту получаю путем запроса к http://api-maps.yandex.ru/services/route/1.1/route.xml с передачей двух географических координат (начало и конец маршрута соответственно).

 

Заранее, спасибо за ответ.

6 комментариев
android,пользовательское соглашение,пробки
Android
i.tugerin
26 марта 2013, 10:40

Опытным путем выяснилось что начиная с версии 2.0.24 (включительно) на android устройстве, пользовательские кнопки на карте работают, но не отображаются, в версии 2.0.22 и 2.0.23 все работает.

3 комментария
android,API 2.0
Яндекс.карты с API 2.x на Android-устройствах
Степан
9 марта 2013, 15:28

Доброго дня.

Покопался в клубе, поискал темы про неадекватно работающие, а то и вовсе не работающие, карты на Android-устройствах. Последние посты там были написано где-то в июне прошлого года. Потому вопрос - появилось ли какое-то решение?

В данный момент здесь карта не отображется на Samsung Galaxy с Android 4 ни в стандартном браузере, ни в Хроме. Но в то же время она замечательно работает на Nokia 5530 в Opera mobile.

Для моей работы важно, чтобы карта была доступна на Android-устройствах.

Надеюсь на помощь, заранее большое спасибо.

 

4 комментария
android,API 2.0
Android мультитач
yanamoto
23 января 2013, 18:07

Ребят, как настроить мультитач в браузере для андройда, myMap.behaviors.enable('multiTouch'); не помогает. Кто сталкивался и как решал?

заранее спасибо

 

Вообщем вместо стабильной версии подрубил 2.0.22 и все заработало. Спасибо за наводки!

4 комментария
mobile,android,API 2.0