2011-06-01 3 views
0

Я получаю местоположение через - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation. Он должен работать, когда вы двигаетесь (не можете проверить его на симуляторе, по крайней мере, я не знаю, как это сделать), но когда я впервые загружаю приложение, mapview ориентирован на весь мир, а не только на мое местоположение. Могу ли я каким-либо образом вызвать метод для изменения местоположения на первом представлении? Вот мой текущий код, если это поможет: http://pastebin.com/9Sb2xVmE http://pastebin.com/rh9WB2caiPhone LocationManager - Получение координат при запуске приложения

+2

Вы должны принимать ответы на предыдущие вопросы, прежде чем задавать новые ... –

+0

Вы можете в симуляторе сделать это, только на карте отображается штаб-квартира Apple. Если ваш devmachine - это MacBook, вы можете взять его там, где хотите, и симулятор обновит местоположение. Это связано с тем, что в симуляторе используется одна и та же инфраструктура CoreLocation, используемая Mac OS X. –

ответ

2

Если с помощью MapKit:

Вы пробовали

setRegion:(MKCoordinateRegion)region animated:(BOOL)animated 

Пример:

CLLocationCoordinate2D coord = {latitude: 61.2180556, longitude: -149.9002778}; 
MKCoordinateSpan span = {latitudeDelta: 0.2, longitudeDelta: 0.2}; 
MKCoordinateRegion region = {coord, span}; 

[mapView setRegion:region]; 

это должно увеличить MapView до нужного размера, сохраняя при этом фокус на центре ,

Если вы используете CoreLocation:

Heres список того, что может пойти не так:

  • ли вы помните, чтобы импортировать
  • У вас есть менеджер местоположения (locationManager = [[ CLLocationManager alloc] init];)
  • Является ли код указан в делегате менеджера местоположений?

Я советую вам перейти на эту страницу: Getting location of a iOS device with objective-C и следовать за учебником по кусочкам. Это должно помочь вам.

Кроме того, Херес MapKit документы

удачи с вашим проектом:]

+0

Привет, да, setRegion работает, но didUpdateToLocation не вызывается в начале, поэтому я не могу получить координаты и масштабировать карту, поэтому я хотел бы знать способ как-то вызвать doUpdateToLocation в начале приложение – haluzak

0

мы не можем иметь возможность получить текущее местоположение, запустив его в тренажере. если вы запустите приложение на устройстве, оно отобразит правильное местоположение. В симуляторе он будет показывать по умолчанию loaction как califorina (quarter).

+0

Да, я знаю, но проблема в том, что я хочу, чтобы mapview увеличивал масштаб до местоположения (по умолчанию california), но когда я впервые просматриваю карту, она не приближается, она остается уменьшенной и показывает весь мир , – haluzak

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