MKMapView自动缩小动画

时间:2018-06-11 10:45:13

标签: ios swift location mkmapview swift4

我需要使用String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 = bookmark Cursor mCur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, sel, null, null); mCur.moveToFirst(); @SuppressWarnings("unused") String title = ""; @SuppressWarnings("unused") String url = ""; if (mCur.moveToFirst() && mCur.getCount() > 0) { boolean cont = true; while (mCur.isAfterLast() == false && cont) { title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE)); url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL)); // Do something with title and url mCur.moveToNext(); } } 创建ViewController。当它打开时,应该出现当前位置并慢慢缩小10秒(或更少,实际上并不重要)。当动画完成应用程序时,应执行segue到下一个MKMapView。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

没有"直接"设置缩放级别的方法。但是,您可以通过设置距离来模拟这一点,这会导致图像调整大小。

CLLocationCoordinate2D noLocation;
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(noLocation, 500, 500);
MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:viewRegion];          
[self.mapView setRegion:adjustedRegion animated:YES];
self.mapView.showsUserLocation = YES;

你可以循环这个,或者只是设置两次,首先是BIG区域,然后是放大区域,让MapView的默认动画做它的事情。