在我的方法中,每次移动地图标记时都会绘制折线。 根据Google Maps iOS文档设置,折线为nil将删除折线。
当我在标记移动触发后执行此操作时,折线保持不变。
根据此处的其他帖子,只有你想要删除的行的指针地址才能删除GMSPolyline,因为即使是全局声明api仍然每次创建另一个实例。
我对指针或地址了解不多。如何得到指针地址,一旦你得到它,你如何通过该地址引用该对象?
我可以得到这样的地址:
NSString *addressRight = [NSString stringWithFormat:@"%p",polylineRightPreview];
每次调用该方法时,即使变量是全局声明的,每次GMSPolyline都会得到一个不同的地址:
0x600000d36f80 0x620000d2dfc0 0x608001538560
我基本上需要这个:
GMSPolyline *polyline = nil;
但它必须引用最后一个创建的确切指针地址。你如何设置
0x600000d36f80 to nil?
如果你只是调用polyline = nil,就不会发生任何事情,因为一旦它被添加到地图中,就会有它自己的指针地址。此外,调用map clear函数是没有用的,因为删除所有其他map对象并重绘它们是不合适的。
答案 0 :(得分:1)
在阵列中添加折线对象&当你想删除那些折线时,迭代数组&设置
polyline.map = nil