大家好。当您单击地图点时,我有一个自定义弹出窗口。如何在单击某个点时进行子滚动,使弹出窗口位于中心?
/** Yandex Map type - Feature to clusterize on a map */
type Feature = GenericPointFeature<LngLat>;
const openPopup = (feature: Feature, e: MouseEvent) => {
mapMarkerActive.htmlElement = e.target as HTMLImageElement
mapMarkerActive.htmlElement.src = '/images/map/marker_active.svg'
map.setLocation({
center: [
Number(feature.properties?.longitude),
Number(feature.properties?.latitude),
] as LngLat,
duration: 500,
})
popup = new YMapMarker(
{
coordinates: feature.geometry.coordinates,
},
popupTemplate(feature)
)
map.addChild(popup)
}
我的看法是,对于纬度,您需要减去弹出窗口的高度,但是如何正确地从坐标中减去像素,甚至取决于地图上的缩放?
map.setLocation({
center: [
Number(feature.properties?.longitude),
Number(feature.properties?.latitude),
] as LngLat,
duration: 500,
})
我在文档中找到了这些方法https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/map.Converter 但这似乎有点不同。对于 3.0 版本,我在文档中没有找到这些方法。