type map external map : string -> map = "map" [@@bs.val] [@@bs.scope "L"] external setView : map -> float array -> int -> unit = "setView" [@@bs.send] type mapEvent external on : map -> string -> (mapEvent -> unit) -> unit = "on" [@@bs.send] type latLng = { lat : float; lng : float; } external latLng : mapEvent -> latLng = "latlng" [@@bs.get] type addable external tileLayer : string -> addable = "tileLayer" [@@bs.val] [@@bs.scope "L"] external addTo : addable -> map -> unit = "addTo" [@@bs.send] type markerInput = { title : string; } external marker : latLng -> markerInput -> addable = "marker" [@@bs.val] [@@bs.scope "L"]