使用addMarker方法



我叫George,我正在用谷歌地图在安卓工作室制作一个安卓应用程序,我有一个问题,我还是一个初学者,所以我不明白为什么你发送到方法addmarker的数据有构造函数方法和其他方法,这个方法链意味着什么?为什么它们与点联合并发送到addmarker方法?谢谢你的帮助,如果需要详细解释,你可以帮我说出我要学习的课程或主题:(我找到了我引用的代码部分

mMap.addMarker(new MarkerOptions().position(posicion).title("Primer posicion").snippet("Hora de llegada: " + hora1));

您使用的chain术语是一个很好的术语,因为它被称为method chaining(或更具体地说是method cascading(,它只是在一个语句中而不是一系列语句中调用对象(MarkerOptions实例(上的一系列方法的一种方式。(这不是Java独有的。(

这里有一个没有链接的等价物:

MarkerOptions mo = new MarkerOptions().
mo.position(posicion);
mo.title("Primer posicion");
mo.snippet("Hora de llegad: " + hora1);
mMap.addMarker(mo);

仅此而已——句法糖。

现在,对于实现方法链接的类,上面的每个方法都将返回this对象。例如,position方法(在MarkerOptions实现中(看起来像:

public MarkerOptions position(LatLng latLng) {
// do something with latLng
return this;
}

因此,每个支持链接的方法都会返回带有this关键字的当前实例。

至于语法,它只是一系列对象方法调用,就像扩展版本一样,而是串行的。

由于addMarker接受MarkerOptions实例,因此该系列中最后的snippet方法满足签名,因为它返回MarkerOptions

生成器模式是一种通常使用方法链接的设计。

方法链接的一个限制是方法不能返回任何东西,只能返回实例引用。

相关内容

  • 没有找到相关文章

最新更新