{"id":20469308,"url":"https://github.com/coreyauger/scalajs-google-maps","last_synced_at":"2025-04-13T10:34:05.242Z","repository":{"id":31997942,"uuid":"35568808","full_name":"coreyauger/scalajs-google-maps","owner":"coreyauger","description":"Type-safe and Scala-friendly library over Google Maps.","archived":false,"fork":false,"pushed_at":"2017-09-08T14:01:15.000Z","size":50,"stargazers_count":21,"open_issues_count":2,"forks_count":19,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T01:51:28.941Z","etag":null,"topics":["google-maps","scalajs"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coreyauger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-13T19:04:44.000Z","updated_at":"2021-04-27T02:26:38.000Z","dependencies_parsed_at":"2022-08-26T11:51:48.551Z","dependency_job_id":null,"html_url":"https://github.com/coreyauger/scalajs-google-maps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreyauger%2Fscalajs-google-maps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreyauger%2Fscalajs-google-maps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreyauger%2Fscalajs-google-maps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreyauger%2Fscalajs-google-maps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coreyauger","download_url":"https://codeload.github.com/coreyauger/scalajs-google-maps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248698790,"owners_count":21147524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-maps","scalajs"],"created_at":"2024-11-15T14:08:39.470Z","updated_at":"2025-04-13T10:34:05.210Z","avatar_url":"https://github.com/coreyauger.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scalajs-google-maps\nType-safe and Scala-friendly library over Google Maps.\n\n## Dependency Info\n[Scala.js](https://www.scala-js.org/).\n\n[Google Maps api v3](https://developers.google.com/maps/documentation/javascript/)\n\n## Get started\nI assume that you have setup a ScalaJS project before.  If this is not the case you can follow the instructions and some basic example on the [Scala.js](https://www.scala-js.org/) homepage.\n\nTo get started you will need a google maps api key.  You can [get an api key here](https://developers.google.com/maps/documentation/javascript/tutorial#api_key).  \n\n### Include google maps on your page\n```html\n \u003cscript type=\"text/javascript\" src=\"https://maps.googleapis.com/maps/api/js?key=API_KEY\"\u003e\u003c/script\u003e\n```\n\n### Build.sbt\nAdd the following dependency to your porject.\n\n`resolvers += \"Sonatype OSS Snapshots\" at \"https://oss.sonatype.org/content/repositories/snapshots\"`\n\n`\"io.surfkit\" %%% \"scalajs-google-maps\" % \"0.0.3-SNAPSHOT\",`\n\n## Some Examples\nHere are some of the google maps examples demonstrated in a type safe scalaJS way.\n\n### Simple Map\nInitialize a map to a location and zoom level.\n```scala\nobject ScalaJSGMapExample extends js.JSApp {\n  def main(): Unit = {\n    \n    def initialize() = js.Function {\n      val opts = google.maps.MapOptions(\n        center = new LatLng(51.201203, -1.724370),\n        zoom = 8,\n        panControl = false,\n        streetViewControl = false,\n        mapTypeControl = false)\n        val gmap = new google.maps.Map(document.getElementById(\"map-canvas\"), opts)\n    }\n    google.maps.event.addDomListener(window, \"load\", initialize)\n  }\n}\n```\n### Place a marker\nAdd a marker to the map.\n```scala\nobject ScalaJSGMapExample extends js.JSApp {\n  def main(): Unit = {\n    \n    def initialize() = js.Function {\n      val opts = google.maps.MapOptions(\n        center = new LatLng(51.201203, -1.724370),\n        zoom = 8,\n        panControl = false,\n        streetViewControl = false,\n        mapTypeControl = false)\n        val gmap = new google.maps.Map(document.getElementById(\"map-canvas\"), opts)\n        \n        val marker = new google.maps.Marker(google.maps.MarkerOptions(\n          position = gmap.getCenter(),\n          map = gmap,\n          title = \"Marker\"\n        ))\n    }\n    google.maps.event.addDomListener(window, \"load\", initialize)\n  }\n}\n```\n### Respond to events + Info Window\n```scala\nobject ScalaJSGMapExample extends js.JSApp {\n  def main(): Unit = {\n    \n    def initialize() = js.Function {\n      val opts = google.maps.MapOptions(\n        center = new LatLng(51.201203, -1.724370),\n        zoom = 8,\n        panControl = false,\n        streetViewControl = false,\n        mapTypeControl = false)\n        val gmap = new google.maps.Map(document.getElementById(\"map-canvas\"), opts)\n        \n        val marker = new google.maps.Marker(google.maps.MarkerOptions(\n          position = gmap.getCenter(),\n          map = gmap,\n          title = \"Marker\"\n        ))\n        \n         val contentString = \"\"\"\n            \u003cdiv id=\"content\"\u003e\n            \u003ch1 id=\"firstHeading\" class=\"firstHeading\"\u003eHello World !!\u003c/h1\u003e\n            \u003c/div\u003e\n            \"\"\"\n\n        val infowindow = new google.maps.InfoWindow(google.maps.InfoWindowOptions(\n          content=contentString\n        ))\n\n        google.maps.event.addListener(marker, \"click\", () =\u003e {\n          println(\"Marker click !\")\n          infowindow.open(gmap,marker)\n        })\n    }\n    google.maps.event.addDomListener(window, \"load\", initialize)\n  }\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoreyauger%2Fscalajs-google-maps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoreyauger%2Fscalajs-google-maps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoreyauger%2Fscalajs-google-maps/lists"}