Для отображения карты приведен пример кода.
Сначала импортируйте MKMapKit и инфраструктуру CoreLocation в ваш файл .h.
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
Добавьте MKMapKit и CoreLocation Delegate в файл .h
@interface MapViewController : UIViewController <MKMapViewDelegate, CLLocationManagerDelegate>
CGPoint gameMapCenter = CGPointMake([[UIScreen mainScreen] bounds].size.width / 2, [[UIScreen mainScreen] bounds].size.height / 2);
gameMapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 640, 620)];
[gameMapView setCenter:gameMapCenter];
[gameMapView setMapType:MKMapTypeStandard];
[gameMapView setDelegate:self];
[self.view addSubview:gameMapView];
[gameMapView setShowsUserLocation:YES];
Используйте CLLocationManager
для извлечения местоположения пользователя.
Объявить экземпляр CLLocationManager
CLLocationManager *locationManager;
В ViewDidLoad
locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManger startUpdatingLocation];
startUpdatingLocation
Реализация метода:
(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
//Your Stuff
}
Стандартным способом SQL для реализации рекурсивных запросов, реализованным, например, в IBM DB2 и SQL Server , является предложение WITH
. См. в этой статье один пример преобразования CONNECT BY
в WITH
(технически рекурсивный CTE ) - пример предназначен для DB2, но я верю, что он будет работать и на SQL Server.
Редактировать: очевидно, исходному заявителю требуется конкретный пример, вот пример с сайта IBM, URL которого я уже дал. Дана таблица:
CREATE TABLE emp(empid INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(10),
salary DECIMAL(9, 2),
mgrid INTEGER);
где mgrid
ссылается на empid
менеджера сотрудника, задача состоит в том, чтобы получить имена всех, кто прямо или косвенно подчиняется Джоан
. В Oracle это просто CONNECT
:
SELECT name
FROM emp
START WITH name = 'Joan'
CONNECT BY PRIOR empid = mgrid
В SQL Server, IBM DB2 или PostgreSQL 8.4 (а также в стандарте SQL, чего это стоит ;-), вместо этого совершенно эквивалентное решение рекурсивный запрос (более сложный синтаксис, но на самом деле еще большая мощность и гибкость):
WITH n(empid, name) AS
(SELECT empid, name
FROM emp
WHERE name = 'Joan'
UNION ALL
SELECT nplus1.empid, nplus1.name
FROM emp as nplus1, n
WHERE n.empid = nplus1.mgrid)
SELECT name FROM n
Предложение Oracle START WITH
становится первым вложенным SELECT
, базовым случаем рекурсии , чтобы быть UNION
с рекурсивной частью, которая является просто еще одним SELECT
.
Особый вариант SQL Server WITH
, конечно, задокументирован на MSDN , в котором также приведены рекомендации и ограничения по использованию этого ключевого слова, а также несколько примеров.
Джоан
. В Oracle это просто CONNECT
:
SELECT name
FROM emp
START WITH name = 'Joan'
CONNECT BY PRIOR empid = mgrid
В SQL Server, IBM DB2 или PostgreSQL 8.4 (а также в стандарте SQL, чего это стоит ;-), вместо этого совершенно эквивалентное решение рекурсивный запрос (более сложный синтаксис, но на самом деле еще большая мощность и гибкость):
WITH n(empid, name) AS
(SELECT empid, name
FROM emp
WHERE name = 'Joan'
UNION ALL
SELECT nplus1.empid, nplus1.name
FROM emp as nplus1, n
WHERE n.empid = nplus1.mgrid)
SELECT name FROM n
Предложение Oracle START WITH
становится первым вложенным SELECT
, базовым случаем рекурсии , чтобы быть UNION
с рекурсивной частью, которая является просто еще одним SELECT
.
Особый вариант SQL Server WITH
, конечно, задокументирован на MSDN , в котором также приведены рекомендации и ограничения по использованию этого ключевого слова, а также несколько примеров.
Джоан
. В Oracle это просто CONNECT
:
SELECT name
FROM emp
START WITH name = 'Joan'
CONNECT BY PRIOR empid = mgrid
В SQL Server, IBM DB2 или PostgreSQL 8.4 (а также в стандарте SQL, чего это стоит ;-), вместо этого совершенно эквивалентное решение рекурсивный запрос (более сложный синтаксис, но на самом деле еще большая мощность и гибкость):
WITH n(empid, name) AS
(SELECT empid, name
FROM emp
WHERE name = 'Joan'
UNION ALL
SELECT nplus1.empid, nplus1.name
FROM emp as nplus1, n
WHERE n.empid = nplus1.mgrid)
SELECT name FROM n
Предложение Oracle START WITH
становится первым вложенным SELECT
, базовым случаем рекурсии , чтобы быть UNION
с рекурсивной частью, которая является просто еще одним SELECT
.
Особый вариант SQL Server WITH
, конечно, задокументирован на MSDN , в котором также приведены рекомендации и ограничения по использованию этого ключевого слова, а также несколько примеров.
Ранее я не использовал соединение, но быстрый поиск показывает, что оно используется для древовидных структур. В SQL Server для получения аналогичных функций используются общие табличные выражения.