[{"name":"GoogleMaps.Map","comment":" This module allows you to create maps using Google maps webcomponent behind the scene\n\n> Note that the map has 100% height, so you would resize the map based on the parent view\n\n\n# Simple Example\n\n    import GoogleMaps.Map as Map\n\n    mapView : String -> Html Msg\n    mapView apiKey =\n        Map.init apiKey\n            |> Map.toHtml\n\n\n# Complex Example\n\n    import GoogleMaps.Map as Map\n\n    mapView : String -> Html Msg\n    mapView apiKey =\n        Map.init apiKey\n            |> Map.withZoom 12\n            |> Map.withMapType Map.satellite\n            |> Map.onMapReady MyMsg\n            |> Map.withCenter -3.7715105 -38.5724269\n            |> Map.withDefaultUIControls False\n            |> Map.toHtml\n\n\n# Types\n\n@docs Map, MapType, ApiKey, Latitude, Longitude\n\n\n# Basics\n\n@docs init, toHtml\n\n\n# UI Controls\n\nYou can use those functions in order to enable/disable UI controls such as StreetView button, zoom and etc\n\nBy default all the controls are enabled\n\n@docs withDefaultUIControls, withMapTypeControls, withStreetViewControls, withZoomActions\n\n\n# MapType\n\n@docs withMapType, hybrid, roadmap, satellite, terrain\n\n\n# Other Modifiers\n\n@docs withCenter, withCustomStyle, withFitToMarkers, withMarkers, withMaxZoom, withMinZoom, withPolygons, withZoom\n\n\n# Events\n\n@docs onMapClick, onMapReady\n\n","unions":[{"name":"Map","comment":" ","args":["msg"],"cases":[]},{"name":"MapType","comment":" ","args":[],"cases":[]}],"aliases":[{"name":"ApiKey","comment":" ","args":[],"type":"String.String"},{"name":"Latitude","comment":" ","args":[],"type":"Basics.Float"},{"name":"Longitude","comment":" ","args":[],"type":"Basics.Float"}],"values":[{"name":"hybrid","comment":" ","type":"GoogleMaps.Map.MapType"},{"name":"init","comment":" It requires the api key whose type is String\n","type":"GoogleMaps.Map.ApiKey -> GoogleMaps.Map.Map msg"},{"name":"onMapClick","comment":" ","type":"msg -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"onMapReady","comment":" ","type":"msg -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"roadmap","comment":" ","type":"GoogleMaps.Map.MapType"},{"name":"satellite","comment":" ","type":"GoogleMaps.Map.MapType"},{"name":"terrain","comment":" ","type":"GoogleMaps.Map.MapType"},{"name":"toHtml","comment":" The final function to generate the final html\n","type":"GoogleMaps.Map.Map msg -> Html.Html msg"},{"name":"withCenter","comment":" Sets the center of the map\n","type":"GoogleMaps.Map.Latitude -> GoogleMaps.Map.Longitude -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withCustomStyle","comment":" The idea is make it typed, but right know you should pass the JSON as string\n\nReference: <https://developers.google.com/maps/documentation/javascript/styling>\n\n","type":"String.String -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withDefaultUIControls","comment":" ","type":"Basics.Bool -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withFitToMarkers","comment":" If there is 1 marker only then the map will be centered to the marker position, otherwise the map bounds change in order to fit all the markers.\n","type":"Basics.Bool -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withMapType","comment":" Sets the mapType.\n\nThe default type is roadmap.\n\nPossible options:\n\nsatellite, roadmap, hybrid, terrain\n\nExample:\n\n    import GoogleMaps.Map as Map\n\n    mapView : String -> Html Msg\n    mapView apiKey =\n        Map.init apiKey\n            |> Map.withMapType Map.satellite\n            |> Map.toHtml\n\n","type":"GoogleMaps.Map.MapType -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withMapTypeControls","comment":" ","type":"Basics.Bool -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withMarkers","comment":"\n\n    import GoogleMaps.Map as Map\n    import GoogleMaps.Marker as Marker\n\n    myMarker : Marker.Marker Msg\n    myMarker =\n        Marker.init -3.7344654 -38.5057405\n\n    mapView : String -> Html Msg\n    mapView apiKey =\n        Map.init apiKey\n            |> Map.withMarkers [ myMarker ]\n            |> Map.toHtml\n\n","type":"List.List (GoogleMaps.Marker.Marker msg) -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withMaxZoom","comment":" Default value is 20\n","type":"Basics.Int -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withMinZoom","comment":" Default value is 0\n","type":"Basics.Int -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withPolygons","comment":"\n\n    import GoogleMaps.Map as Map\n    import GoogleMaps.Polygon as Polygon\n\n    myPolygon : Polygon.Polygon Msg\n    myPolygon =\n        Polygon.init\n            [ ( -3.7344654, -38.5057405 )\n            , ( -3.7366108, -38.5188557 )\n            , ( -3.7374002, -38.5195225 )\n            , ( -3.7474947, -38.5153675 )\n            ]\n            |> Polygon.withStrokeColor \"red\"\n            |> Polygon.withFillColor \"orange\"\n            |> Polygon.withFillOpacity 0.25\n            |> Polygon.withClosedMode\n\n    mapView : String -> Html Msg\n    mapView apiKey =\n        Map.init apiKey\n            |> Map.withPolygons [ myPolygon ]\n            |> Map.toHtml\n\n","type":"List.List (GoogleMaps.Polygon.Polygon msg) -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withStreetViewControls","comment":" ","type":"Basics.Bool -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withZoom","comment":" Default zoom is 14\n","type":"Basics.Int -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"},{"name":"withZoomActions","comment":" ","type":"Basics.Bool -> GoogleMaps.Map.Map msg -> GoogleMaps.Map.Map msg"}],"binops":[]},{"name":"GoogleMaps.Marker","comment":" This module allows you to create markers to be used along with GoogleMaps.Map\n\n    import GoogleMaps.Map as Map\n    import GoogleMaps.Marker as Marker\n\n    myMarker : Html Msg\n    myMarker =\n        Marker.init -3.7344654 -38.5057405\n            |> Marker.onClick MyClickMsg\n\n    mapView : String -> Html Msg\n    mapView apiKey =\n        Map.init apiKey\n            |> Map.withMarkers [ myMarker ]\n            |> Map.toHtml\n\n@docs Marker, Latitude, Longitude, init\n\n\n# Modifiers\n\n@docs withIcon, withDraggableMode\n\n\n# Events\n\n@docs onClick\n\n\n# Don't use this :o\n\n@docs toHtml\n\n","unions":[{"name":"Marker","comment":" ","args":["msg"],"cases":[]}],"aliases":[{"name":"Latitude","comment":" ","args":[],"type":"Basics.Float"},{"name":"Longitude","comment":" ","args":[],"type":"Basics.Float"}],"values":[{"name":"init","comment":" It requires the latitude and longitude(both are floats)\n","type":"GoogleMaps.Marker.Latitude -> GoogleMaps.Marker.Longitude -> GoogleMaps.Marker.Marker msg"},{"name":"onClick","comment":" Sets a click event handler\n","type":"msg -> GoogleMaps.Marker.Marker msg -> GoogleMaps.Marker.Marker msg"},{"name":"toHtml","comment":" You should not use this function, GoogleMaps.Map uses it in order to render the marker.\n","type":"GoogleMaps.Marker.Marker msg -> Html.Html msg"},{"name":"withDraggableMode","comment":" make the marker draggable\n","type":"GoogleMaps.Marker.Marker msg -> GoogleMaps.Marker.Marker msg"},{"name":"withIcon","comment":" Sets a custom image to the marker\n","type":"String.String -> GoogleMaps.Marker.Marker msg -> GoogleMaps.Marker.Marker msg"}],"binops":[]},{"name":"GoogleMaps.Polygon","comment":" This module allows you to create polygons to be used along with GoogleMaps.Map\n\n    import GoogleMaps.Map as Map\n    import GoogleMaps.Polygon as Polygon\n\n    myPolygon : Polygon.Polygon Msg\n    myPolygon =\n        Polygon.init\n            [ ( -3.7344654, -38.5057405 )\n            , ( -3.7366108, -38.5188557 )\n            , ( -3.7374002, -38.5195225 )\n            , ( -3.7474947, -38.5153675 )\n            ]\n            |> Polygon.withStrokeColor \"red\"\n            |> Polygon.withFillColor \"orange\"\n            |> Polygon.withFillOpacity 0.25\n            |> Polygon.onClick OnMarkerClicked\n            |> Polygon.withClosedMode\n\n    mapView : String -> Html Msg\n    mapView apiKey =\n        Map.init apiKey\n            |> Map.withPolygons [ myPolygon ]\n            |> Map.toHtml\n\n\n# Types\n\n@docs Polygon, Latitude, Longitude\n\n\n# Basics\n\n@docs init\n\n\n# Modifiers\n\n@docs withClosedMode, withFillColor, withFillOpacity, withStrokeColor, withStrokeWeight, withZIndex\n\n\n# Events\n\n@docs onClick\n\n\n# Don't touch this :o\n\n@docs toHtml\n\n","unions":[{"name":"Polygon","comment":" ","args":["msg"],"cases":[]}],"aliases":[{"name":"Latitude","comment":" ","args":[],"type":"Basics.Float"},{"name":"Longitude","comment":" ","args":[],"type":"Basics.Float"}],"values":[{"name":"init","comment":" ","type":"List.List ( GoogleMaps.Polygon.Latitude, GoogleMaps.Polygon.Latitude ) -> GoogleMaps.Polygon.Polygon msg"},{"name":"onClick","comment":" ","type":"msg -> GoogleMaps.Polygon.Polygon msg -> GoogleMaps.Polygon.Polygon msg"},{"name":"toHtml","comment":" You should not use this function, GoogleMaps.Map uses it in order to render the polygon.\n","type":"GoogleMaps.Polygon.Polygon msg -> Html.Html msg"},{"name":"withClosedMode","comment":" it forces the polygon to be a closed shape\n","type":"GoogleMaps.Polygon.Polygon msg -> GoogleMaps.Polygon.Polygon msg"},{"name":"withFillColor","comment":" There is no default color\n\nthis function accepts the same formats as the CSS color values\n\nE.g `\"rbg(255,255,0)\", \"orange\" or \"#ff00ff\"`\n\n","type":"String.String -> GoogleMaps.Polygon.Polygon msg -> GoogleMaps.Polygon.Polygon msg"},{"name":"withFillOpacity","comment":" The default is 0\n","type":"Basics.Float -> GoogleMaps.Polygon.Polygon msg -> GoogleMaps.Polygon.Polygon msg"},{"name":"withStrokeColor","comment":" The default is black\n\nthis function accepts the same formats as the CSS color values\n\nE.g `\"rbg(255,255,0)\", \"orange\" or \"#ff00ff\"`\n\n","type":"String.String -> GoogleMaps.Polygon.Polygon msg -> GoogleMaps.Polygon.Polygon msg"},{"name":"withStrokeWeight","comment":" The default is 3\n","type":"Basics.Int -> GoogleMaps.Polygon.Polygon msg -> GoogleMaps.Polygon.Polygon msg"},{"name":"withZIndex","comment":" ","type":"Basics.Int -> GoogleMaps.Polygon.Polygon msg -> GoogleMaps.Polygon.Polygon msg"}],"binops":[]}]