Как обрабатывать несколько пунктов назначения в Baidu Map, используя URI в Android / IOS - PullRequest
1 голос
/ 12 марта 2019

Мы интегрируем карту Baidu и хотим показать несколько остановок (пунктов назначения) на карте. Мы просмотрели официальную документацию по картам Baidu (http://lbsyun.baidu.com/index.php?title=uri/api/android) и нашли параметр с именем 'viaPoints'. В соответствии с документом нам нужно передать JSON в ключе viaPoints, но мы не можем добавить JSON в URL.

В андроиде мы проходим вот так:

Intent i1 = new Intent();
i1.setData(Uri.parse("baidumap://map/direction?mode=driving&destination=上上&origin=西二旗&src=push&viaPoints={viaPoints:[{name:Beijing West Railway Station, lat:39.902463,lng:116.327737}]}"));
startActivity(i1);

Мы хотим достичь нескольких пунктов назначения, как показано на прикрепленном изображении.

enter image description here

Ответы [ 2 ]

0 голосов
/ 12 марта 2019
   // Instantiates a new Polyline object and adds points to define a rectangle
PolylineOptions rectOptions = new PolylineOptions()
        .add(new LatLng(37.35, -122.0))
        .add(new LatLng(37.45, -122.0))  // North of the previous point, but at the same longitude
        .add(new LatLng(37.45, -122.2))  // Same latitude, and 30km to the west
        .add(new LatLng(37.35, -122.2))  // Same longitude, and 16km to the south
        .add(new LatLng(37.35, -122.0)); // Closes the polyline.

// Get back the mutable Polyline
Polyline polyline = myMap.addPolyline(rectOptions);
0 голосов
/ 12 марта 2019

Хотя упомянутая вами документация выглядит в китайцах, но есть идея.

Вы не используете двойные кавычки вокруг массива viaPoints и других ключей в параметре JSON.

JSON должен быть в этом формате

{
  "viaPoints": [
    {
      "name": "Beijing West Railway Station",
      "lat": 39.902463,
      "lng": 116.327737
    }]
}

Попробуйте это

i1.setData(Uri.parse("baidumap://map/direction?mode=driving&destination=上上&origin=西二旗&src=push&viaPoints={\"viaPoints\":[{\"name\":\"Beijing West Railway Station\", \"lat\":39.902463,\"lng\":116.327737}]}"));
...