我偶尔会遇到iOS 6 MapKit崩溃.无法真正重现它.是什么导致这个?
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000044
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 IMGSGX543GLDriver 0x38f231b4 sgxTextureGetImageRowBytes(GLDTextureRec*, unsigned int, unsigned int) + 8
1 IMGSGX543GLDriver 0x38f23160 CalculateChunkPlaneSizes(GLDTextureRec*, int, unsigned int*, unsigned int*, unsigned int*, unsigned int*) + 104
2 IMGSGX543GLDriver 0x38f25906 sgxConfigureTexturePrivate(GLDTextureRec*) + 82
3 IMGSGX543GLDriver 0x38f24584 glrUpdateTexture + 616
4 libGPUSupportMercury.dylib 0x342c76b6 gldLoadFramebuffer + 102
5 GLEngine 0x31b50e52 gleUpdateDrawFramebufferState + 178
6 GLEngine 0x31b52556 gleDoDrawDispatchCoreES2 + 126
7 …Run Code Online (Sandbox Code Playgroud) 因此,映射链接打开地图应用程序就像以前一样,我想根据用户是在iOS 6还是其他(iOS 4,5,Android,等等)呈现不同的链接.
类似于: - 如果在iOS 6.0或更高版本上,请显示http://maps.apple.com?q= "地址",如果是其他,则显示http://maps.google.com?q= "地址".
注意:我意识到你也可以直接调用地图应用程序,而不是通过网络链接(现在没有方便),但这不会解决问题,因为Android或较小的iOS上的某些人将无法使用那.
在iPad应用程序中使用新的Apple地图时,是否有人遇到内存占用(Live Bytes)问题?我测试了我的iPad应用程序与仪器,它似乎内存分配显示地图(甚至当启动变焦120MB),当在70MB跳到 - 而在iOS 5.1(使用谷歌地图)的内存占用小于4MB.或者有没有人有这个问题的解决方案(减少使用Apple地图时的内存占用量)?
谢谢.
这是一个奇怪的问题:我的应用程序应该能够调用iOS中的内置地图(包括5.1和6).事实证明它在iOS6下工作得很好,但在iOS5.1下却没有.调用iOS6中的地图,并跟踪从saddr到daddr的路线,但是当我在iOS5中时,地图应用程序被调用,但只有一个引脚放在daddr上.由于某种未知原因,初始坐标(saddr)没有显示,也没有跟踪方向.
这是我的代码:
addr = [NSString stringWithFormat: @"maps://saddr=%f,%f&daddr=%f,%f", newLocation.coordinate.latitude, newLocation.coordinate.longitude, oldLatitude, oldLongitude];
NSURL *url = [NSURL URLWithString:addr];
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)
我尝试将网址更改为"http://maps.google.com/something",但它会调用Safari而不是内置的地图应用.我注意到变量正在正确传递给URL.
有任何想法吗?
提前致谢!
以前,在iOS应用中,您可以使用Google Maps URL方案(http:maps.google.whatever.whatever)从应用程序中启动Google地图应用.
有谁知道iOS 6.0地图应用程序的新URL方案是什么?我找不到任何关于此的新文档.
我想显示GoogleMap(Google maps V3 JS)在UIWebView(ios6).
但是,
当我在webview中移动地图时,事件没有火center_changed.
移动地图已经完成,事件发生火灾.
为什么?
...
有人告诉我页面:
http:
//gmaps-samples-v3.googlecode.com/svn/trunk/map_events/map_events.html Mac'Safri access - center_changed在地图移动时开火.
iOS6 Safri访问 - 移动地图完成,火灾center_changed.
......
我想知道移动时地图的中心坐标.
请告诉我一个好方法.
`<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API v3 Example: iPhone Geolocation</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
var moveCenterLat;
var moveCenterLng;
function initialize() {
var myOptions = {
zoom:reqZoomLevel,
disableDefaultUI:true,
draggable:true,
keyboardShortcuts:false,
scrollwheel:false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = …Run Code Online (Sandbox Code Playgroud) 我的专用于iPad的应用程序中的谷歌地图有一个奇怪的问题(使用iOS6).我做了一个水平滚动视图,里面有两个视图.一个是详细信息视图(一些文本,没什么特别的),第二个视图是一个带谷歌地图的视图控制器.这是我的应用程序中的通用方案(从两个视图构建scrollview),用于几个不同的目的.当我开始在iOS6的真实iPad上测试应用程序时会出现问题.应用程序应该查看滚动视图时崩溃.但不是立即的.开始时,可以正确查看滚动视图.然后我想用新数据构建一个新的滚动视图.它也很好,滚动视图可以正常查看.经过几次这样的操作后,我开始收到越来越多的错误日志,如下所示:
failed to make complete framebuffer object 8cdd
在几次scrollView运行之后,应用程序崩溃而没有任何其他错误.代码编辑器指向main.m文件,以及以下行:
int retVal = UIApplicationMain(argc, argv, nil, nil);
请指导我找出我做错了什么.我的视图控制器中负责查看谷歌地图的viewDidLoad方法在哪里:
-(void)viewDidLoad {
mapView.mapType = MKMapTypeSatellite;
mapView.showsUserLocation = YES;
/* ANNOTATION (pin) */
CLLocationCoordinate2D annotationCoord;
annotationCoord.latitude = [self.restaurant.latitude doubleValue];
annotationCoord.longitude = [self.restaurant.longitude doubleValue];
// a pin with the info.
MKPointAnnotation *annotationPoint = [[MKPointAnnotation alloc] init];
annotationPoint.coordinate = annotationCoord;
annotationPoint.title = self.restaurant.name;
// add annotation to the map
[mapView performSelectorOnMainThread:@selector(addAnnotation:)
withObject:annotationPoint
waitUntilDone:YES];
[annotationPoint release];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance (annotationCoord, 500, 500);
[self.mapView setRegion:region animated:YES];
[super …Run Code Online (Sandbox Code Playgroud) 我一直在IOS 6上遇到这个崩溃,但我不确定是什么问题.有谁知道这意味着什么?
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: EXC_ARM_DA_ALIGN at 0x00000001
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 CoreFoundation 0x3bcab0d8 CFRetain + 20
1 CoreFoundation 0x3bd424ee __CFSetStandardRetainKey + 50
2 VectorKit 0x3840e97c -[VKAnimation _stopAnimation:] + 36
3 VectorKit 0x383d841c -[VKAnimation onTimerFired:] + 48
4 VectorKit 0x383d8240 -[VKMainLoop displayTimerFired:] + 352
5 QuartzCore 0x3664377c CA::Display::DisplayLink::dispatch(unsigned long long, unsigned long long) + 156
6 QuartzCore 0x366436d4 CA::Display::IOMFBDisplayLink::callback(__IOMobileFramebuffer*, unsigned long long, unsigned long long, unsigned long long, …Run Code Online (Sandbox Code Playgroud) 在VoiceOver下测试时,我的代码在iOS 5下运行良好.我的代码将集合MKPinAnnotationViews到MKMapView.我在iOS 6中的问题是,在到达我添加的引脚之前,画外音会读取街道名称和其他POI(可能很多).有没有办法重新排序这些?我似乎无法找到Apple关于如何为iOS 6的地图添加引脚的任何建议.
谢谢!
如何以编程方式获取iOS上已安装的"路由应用"列表?
这背后的原因是,iOS提供了大量的导航应用程序,我不想维护手动列表.
Apple提供了一项自iOS 6以来的新功能,可将您的应用注册为路由应用,如此处所述http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/ProvidingDirections/ProvidingDirections.html#// apple_ref/DOC/UID/TP40009497-CH8-SW7
如果您随后在常规地图应用程序中启动路由,则会显示一个能够路由您的应用程序列表,如您在此处所示:

我找不到获取清单的方法.当然,我可以通过使用canOpenURL来查询是否安装了一个特定的应用程序:在UIApplication中,但这将非常繁琐.
我知道这一定是可能的,因为着名的"何去何从?" app提供了这样的功能.
任何提示赞赏!
ios6-maps ×10
ios ×7
ios6 ×6
mapkit ×5
objective-c ×3
iphone ×2
javascript ×2
crash ×1
google-maps ×1
ios5 ×1
ipad ×1
scrollview ×1
voiceover ×1