我们正在整合百度地图,并希望在地图上显示多个停工(目的地)。我们已经浏览了百度地图(http://lbsyun.baidu.com/index.php?title=uri/api/android)的官方文档,并找到了一个名为“viaPoints”的参数。根据文档,我们需要在viaPoints
密钥中传递JSON,但是我们无法在URL中附加JSON。
在android中我们传递这样:
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);
我们想要实现多个目的地,如附图所示。
虽然您提到的文档看起来像是在Chinees但是有了一个想法。
您没有在数组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}]}"));
// 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);