2013-11-18 4 views
2

У меня есть этот вид с картой, которая покрывает большую часть площади экрана. Наверху у меня есть изображения, кнопки, текстовые поля. Они расположены в верхней части карты, которую я называю здесь «бесполезной картой», а нижняя часть - для фактического просмотра карты. Это «полезная карта». По умолчанию карта свойство centerCoordinate является центром по отношению к полной карте, как видно, как красный круг на изображении:MapView - изменить координаты центральной точки

полезная карта отмечен зеленым цветом, и я хотел зеленый круг, который будет использоваться как центральная точка. Я могу центрировать карту или добавить булавку, например, в этой точной точке, добавляя или вычитая из широты координаты, но фактическое значение, которое мне нужно добавить, зависит от уровня масштабирования.

Можно ли изменить точку центра карты или внести какие-либо изменения, которые могут заставить карту действовать так, как если бы эта точка (зеленый круг) была центром?

Целью этого является то, что я хочу сбросить штифт (или переместить текущий вывод) псевдоцентровой точки (зеленый) каждый раз, когда пользователь перетаскивает карту. Чтобы сделать это, мне нужно получить centerCoordinate (красный), а затем добавить смещение.

+0

ли карту статический или динамический в зависимости от местоположения пользователя? – rkh

+0

Используйте настройку видимого прямоугольника с краем. https://stackoverflow.com/a/30224360/4407087 может вам помочь. – rafalkitta

ответ

0

Вместо того чтобы показывать местоположение пользователя на карте просто уронить аннотаций булавку в

MKPointAnnotation *point = [[MKPointAnnotation alloc] init]; 
point.coordinate = myCoordinate; //CLLocationCoordinate2D myCoordinate 
[self.mapView addAnnotation:point]; 
Смежные вопросы