В большинстве SDK для карт вы можете использовать для этого аннотации.
/ ** Добавление аннотации к представлению карты.
@ note MGLMultiPolyline
, MGLMultiPolygon
, MGLShapeCollection
и MGLPointCollection
объекты не могут быть добавлены вПросмотр карты в это время.Любой указанный объект многоточечной, многолинейной, многоугольной, фигурной или точечной коллекции игнорируется.
@ param annotation Объект аннотации, добавляемый в получатель.Этот объект должен соответствовать протоколу MGLAnnotation
.Вид карты сохраняет объект аннотации.* / - (void) addAnnotation: (id) аннотация;
/ ** Добавляет массив аннотаций к представлению карты.
@ note MGLMultiPolyline
, MGLMultiPolygon
и MGLShapeCollection
объекты не могут быть добавлены в представление карты в это время.Также не могут MGLMultiPoint
объекты, которые не являются экземплярами MGLPolyline
или MGLPolygon
.Любые указанные объекты многоточечной, многополилинной, мультиполигональной или коллекционной формы молча игнорируются.
@ param annotations Массив объектов аннотаций.Каждый объект в массиве должен соответствовать протоколу MGLAnnotation
.Вид карты сохраняет каждый отдельный объект аннотации.* / - (void) addAnnotations: (NS_ARRAY_OF (id) *) аннотации;
/ ** Удаляет аннотацию из вида карты, отменяя выбор, если она выбрана.
Удаление аннотацииобъект полностью отделяет его от вида карты, предотвращая его отображение на карте.Таким образом, вы обычно вызываете этот метод только тогда, когда хотите скрыть или удалить данную аннотацию.
@ param annotation Объект аннотации для удаления.Этот объект должен соответствовать протоколу MGLAnnotation
* / - (void) removeAnnotation: (id) annotation;
/ ** Удаляет массив аннотаций из вида карты, отменяя выбор любых выбранных аннотаций в массиве.
Удаление объектов аннотаций полностью отделяет их от вида карты, предотвращая их отображение на карте.Таким образом, вы обычно вызываете этот метод только тогда, когда хотите скрыть или удалить указанные аннотации.
@ param annotations Массив объектов аннотаций, которые нужно удалить.Объекты в массиве должны соответствовать протоколу MGLAnnotation
.* / - (void) removeAnnotations: (NS_ARRAY_OF (id) *) аннотации;
Итак, первым шагом будет добавление аннотаций к представлению карты с помощью указанных выше методов.Затем MGLMapView
вызовет один из своих методов делегата, приведенных ниже:
Вам просто нужно вернуть соответствующий вид.способ.