我正在尝试构建一个跟踪应用程序。我为每个用户进行了登录/注册。登录后,用户开始更新位置数据并将其发送到Firebase,TableView也会填充所有注册的用户。在TableView中单击用户后,我将显示一个带有MapView的新控制器。问题是我不知道如何在不单击按钮或类似按钮的情况下触发获取Firebase位置数据,并且数据不应该停止出现直到退出MapView控制器,因为该想法是实时显示用户的位置。
有什么建议吗?预先感谢!
答案 0 :(得分:0)
您可以在appdelegete类中调用位置确实更新方法。
对于Swift
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.last{
let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
self.map.setRegion(region, animated: true)
}
}
对于目标C
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
if(!newLocation) return;
if ((oldLocation.coordinate.latitude != newLocation.coordinate.latitude) &&(oldLocation.coordinate.longitude != newLocation.coordinate.longitude))
{
// to draw path as new location find
jogPoint = [[JogPoint alloc] initWithCenterCoordinate:newLocation.coordinate];
[jogPoints addObject:jogPoint];
}
}
答案 1 :(得分:0)
好的,我找到了办法。我只需要在观察者中使用Firebase构建并进行设置即可。