Я столкнулся с этой же проблемой и начал думать, что выводы круглой карты становятся стандартом де-факто, поэтому их можно просто вставить на карту с центром изображения, обозначающим координату.Однако, если вы посмотрите на этот пример на веб-сайте Mapbox, они используют некруглое изображение и довольно хорошо решают проблему смещения.
// The anchor point of an annotation is currently always the center. To
// shift the anchor point to the bottom of the annotation, the image
// asset includes transparent bottom padding equal to the original image
// height.
//
// To make this padding non-interactive, we create another image object
// with a custom alignment rect that excludes the padding.
image = image.withAlignmentRectInsets(UIEdgeInsets(top: 0, left: 0, bottom: image.size.height/2, right: 0))
Это означает, что вам нужногенерировать пин-изображения, которые в два раза больше, а нижняя половина прозрачная, но это не так уж и важно.