在 next.js 中应用 animate-bounce(tailwind-css) 后的 mapbox 标记问题

问题描述 投票:0回答:0

我尝试在地图中的标记上应用动画 animate-bounce。但是当我尝试应用动画时,标记飞到了页面顶部。它不在提供的经度和纬度中。

应用动画之前 enter image description here

应用动画后 enter image description here

import * as React from "react";
import { useEffect, useRef } from "react";
import mapboxgl from "mapbox-gl";
import "mapbox-gl/dist/mapbox-gl.css";
import { getCenter } from "geolib";

export default function Map({ searchResults }) {
  const mapContainer = useRef(null);

  useEffect(() => {
    mapboxgl.accessToken =
      "your_access_code";

    const coordinates = searchResults.map((results) => ({
      longitude: results.long,
      latitude: results.lat,
    }));
    const center = getCenter(coordinates);

    const map = new mapboxgl.Map({
      container: mapContainer.current,
      style: "your_custome_style_map",
      center: [center.longitude, center.latitude],
      zoom: 10,
    });

    

    searchResults.map((result) => {
      const customMarker = document.createElement("div");
  customMarker.innerHTML = "📌";
  customMarker.style.fontSize = "24px";

// The style animate-bounce animation isn't working
customMarker.className = "animate-bounce";

      const { long, lat } = result;
      const marker = new mapboxgl.Marker({element: customMarker}).setLngLat([long, lat]).addTo(map);

      const popup = new mapboxgl.Popup({ offset: 25 }).setHTML(
        `<h3>${result.title}</h3><p>${result.description}</p>`
      );
      marker.setPopup(popup);
    });

    return () => {
      map.remove();
    };
  }, []);

  return <div ref={mapContainer} className="w-[100%] h-[100%]" />;
}
reactjs next.js tailwind-css mapbox mapbox-gl
© www.soinside.com 2019 - 2024. All rights reserved.