Standalone Popups
Display popups anywhere on the map without markers.
Use MapPopup to display a popup at any location on the map. Unlike MarkerPopup, standalone popups are not attached to markers and can be controlled programmatically.
"use client";
import { useState } from "react";
import { Map, MapPopup } from "@/components/ui/map";
import { Button } from "@/components/ui/button";
export function StandalonePopupExample() {
const [showPopup, setShowPopup] = useState(true);
return (
<div className="relative h-[420px] w-full">
<Map center={[-74.006, 40.7128]} zoom={13}>
{showPopup && (
<MapPopup
longitude={-74.006}
latitude={40.7128}
onClose={() => setShowPopup(false)}
closeButton
focusAfterOpen={false}
closeOnClick={false}
>
<div className="space-y-2">
<h3 className="text-foreground font-semibold">New York City</h3>
<p className="text-muted-foreground text-sm">
The city that never sleeps. Population: 8.3 million
</p>
<Button
size="sm"
variant="outline"
className="w-full"
onClick={() => setShowPopup(false)}
>
Close
</Button>
</div>
</MapPopup>
)}
</Map>
{!showPopup && (
<Button
size="sm"
className="absolute bottom-4 left-4 z-10"
onClick={() => setShowPopup(true)}
>
Show Popup
</Button>
)}
</div>
);
}