如何在Dart中的Uri查询字符串中重复键

问题描述

应用程序:Google映射静态API

为了添加多个标记,文档说我们只需要设置markers查询字符串的多个值

可以将多个标记放置在与 只要它们表现出相同的风格;您可以添加其他标记 通过添加其他标记参数来改变样式。

我尝试像这样使用Uri库:

 final url = new Uri(
      scheme: 'https',host: 'maps.googleapis.com',path: 'maps/api/staticmap',queryParameters: {
        'markers' : 'color:blue|label:C|1.015,1.054','markers' : 'color:red|label:C|1.012,1.057',},);
 print(url.toString());

但是dart不允许这样做。还有其他方法吗?

发生的事情是它仅显示一个标记。 (第一个

解决方法

>>=不能包含重复的密钥。但是,Just的构造函数确实支持生成具有重复键的查询字符串。来自the documentation for Uri's constructor

使用Just时,查询是从提供的地图中构建的。地图中的值必须是字符串,或者是字符串的weightCheck,后者对应于多个相同键的值。

所以您可以这样做:

Map

打印:

Uri