Хотя упомянутая вами документация выглядит в китайцах, но есть идея.
Вы не используете двойные кавычки вокруг массива 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}]}"));