2016-09-19 90 views
0

我查看了几个其他不同的问题发布了同样的问题,但他们都没有帮助回答我的问题,因为我用这个坐标。我最近升级到Swift3,我得到这个错误“语境类型AnyObject不能用于与数组文本上下文类型AnyObject不能用于坐标的数组文字

因此,这是怎样的代码看起来像在这里我声明我的变量我的坐标

var coordinates: [AnyObject]! 

这是发生错误的下一个代码,我将用x替换数字。我使用的经度和纬度

coordinates = [[xx.xxxxxx, -xxx.xxxxxx],[xx.xxxxxx, -xxx.xxxxxx],[xx.xxxxxx, -xxx.xxxxxx]] 

,我把它叫做是通过使用循环的方式,我不认为导致任何问题,但我只是将它张贴以防万一

for i in 0...2 
    { 
     let coordinate = coordinates[i]} 

问题通过实施

var coordinates: [[Double]]! 
+0

是否有某些原因,您不能将坐标声明为'var coordinates:[[Float]]!'或'var coordinates:[[Double]]!'? –

+0

为什么使用'[AnyObject]!'类型的二维数组?编译器不知道内部数组应该是什么类型。无论如何,更合适的数据结构将是一系列结构。 – Hamish

+0

实际的链接器错误是什么? –

回答

0

解决只是改变: -

import MapKit 


class yourController : ...{ 

var coordinates: [AnyObject]! 

var coordinates = [CLLocationCoordinate2D]() 

要仅为特定索引访问特定latlong: -

coordinates[your_index].latitude // Latitude 

coordinates[your_index].longitude //Longitude 

CLLocationCoordinate2D是一个结构,更易于扩展,比数组访问。

+0

避免延长你的问题的时候一个人回答,SO在一天内没有限制发布两个问题。接受这个答案,如果它解决了你的问题。:)快乐编码 – Dravidian

+0

有更多的问题,我有更多的问题实施不同的部分。请阅读帖子 –

相关问题