Предыдущий ответ правильный, вам нужно поиграть со значением BOUNDS вашего маркера.
Как я уверен, вы знаете, что ограничивающий прямоугольник определяет размер объекта ... Маркер на вашей карте будет располагаться вместе с верхней левой координатой вашего маркера на координате GPS, если вы просто вызовете нормаль установить размер вашего изображения.
Что вам нужно сделать, это изменить границы вашего изображения так, чтобы часть изображения, которую вы хотите, находилась над точкой на карте, которую вы хотите.
Таким образом, если ваше измененное изображение имеет размер, скажем, 20 x 20, и ваш фактический наконечник стрелки (если изображение является стрелкой, и вы хотите, чтобы оно было точно выровнено с точкой на карте), скажем, в X = 4 и Y = 10, вам необходимо изменить границы вашего изображения соответственно, чтобы «переместить» изображение туда, куда вы хотите.
Так как 0,0 поместит изображение на 4 пикселя вправо и на 10 пикселей ниже фактической точки на карте, с которой вы его ассоциируете, ваши границы не должны быть 0,0, X, Y, но должны быть -4, -10, размер X изображения-4, размер Y изображения-10 (в данном примере xsize изображения и ysize изображения оба равны 20, но должны использовать значения, подходящие для вашего случая.)