Для открытия Google Maps в определенных координатах попробуйте этот код:
NSString *latlong = @"-56.568545,1.256281";
NSString *url = [NSString stringWithFormat: @"http://maps.google.com/maps?ll=%@",
[latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
можно заменить строку latlong текущим местоположением от CoreLocation.
можно также указать уровень масштабирования, с помощью флага (”z“). Значения 1-19. Вот пример:
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@" http://maps.google.com/maps?z=8 "]];
Следующее решение предполагает, что в файле манифеста вы всегда устанавливаете android:debuggable=true
при разработке и android:debuggable=false
при выпуске приложения.
Теперь вы можете проверить значение этого атрибута из вашего кода, проверив флаг ApplicationInfo.FLAG_DEBUGGABLE
в ApplicationInfo
, полученном из PackageManager
.
Следующий фрагмент кода может помочь:
PackageInfo packageInfo = ... // get package info for your context
int flags = packageInfo.applicationInfo.flags;
if ((flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
// development mode
} else {
// release mode
}
Вот метод, который я использую:
http://whereblogger.klaki.net/2009/10/choosing-android-maps-api-key-at-run.html
Я использую его для переключения ведения журнала отладки и ключа API карт.