2016-03-09 1 views
1

Я пытаюсь понять, почему мой взгляд на карту google показывает только один маркер на экране, даже если данные извлечения получили 2 записи. Я использую область для хранения широты и долготы каждая позиция. Даже в моем царстве есть две позиции маркеров, почему она бросает только один маркер, Любая помощь?GoogleMapView, показывающий только один маркер, даже его имеет 2 или более

@IBOutlet weak var mapView: GMSMapView! 
var locationMarker: GMSMarker! 
var locationList : Results<TowerLocationList>! 

@IBAction func findAddress(sender: AnyObject) { 

    // Clearing all marker to protect duplicate marker drop 
    self.mapView.clear() 

    //Fetching all marker from realm object 
    locationList = realm.objects(TowerLocationList) 

    print("The list included at Realm DB is : \(locationList)") 

    print("List count : \(locationList.count)") 

    for var i = 0 ; i < locationList.count; i++ { 
     let coordinate = CLLocationCoordinate2D(latitude: Double(locationList[i].latitude)!, longitude: Double(locationList[i].longitude)!) 
     self.setupLocationMarker(coordinate) 
     print("For Loop i : \(i)") 
    } 
} 

func setupLocationMarker(coordinate: CLLocationCoordinate2D) { 


    locationMarker = GMSMarker(position: coordinate) 
    locationMarker.map = mapView 

    locationMarker.appearAnimation = kGMSMarkerAnimationPop 
    locationMarker.icon = UIImage(named: "Radio_Tower") 
    //locationMarker.opacity = 0.75 

    locationMarker.flat = true 

    locationList = realm.objects(TowerLocationList).filter("longitude = '\(coordinate.longitude)' AND latitude = '\(coordinate.latitude)'") 
    locationMarker.snippet = locationList[0].siteCode 

    print(locationMarker.snippet) 

} 

Когда я нажимаю кнопку findAddress, Выход есть:

The list included at Realm DB is : Results<TowerLocationList> (
[0] TowerLocationList { 
    siteCode = AY0121; 
    longitude = 96.1265519633889; 
    latitude = 16.8548376155088; 
}, 
[1] TowerLocationList { 
    siteCode = AY0119; 
    longitude = 96.1268738284707; 
    latitude = 16.8490258657804; 
} 
) 
List count : 2 
Optional("AY0121") 
For Loop i : 0 

почему остановка цикла с индексом 0 и не идет к индексу 1?

ответ

1

попробуйте установить это внутри вашего метода для setupLocationMarker(coordinate: CLLocationCoordinate2D) Здесь вы должны будете разместить все свои отдельные маркеры.

mapView.clear() 
for spot in locationList { 
    let marker = GMSMarker(place: spot) 
    marker.map = self.mapView 
    marker.snippet = spot.title 
    //etc 
} 
+0

Я пробовал, он все еще не работал. Здесь: http://puu.sh/nzXZK/2a50a5a6e8.png. Только показать один маркер, что со мной не так? ( –

+0

Я получил его сейчас: http://puu.sh/nzYiv/59cfe753fa.png. Могу ли я узнать, в чем разница? –

+0

Ум, объясните мне, почему он отбрасывает только один маркер при нормальном для цикла, а не для каждого цикла? –

 Смежные вопросы

  • Нет связанных вопросов^_^