OL3-GoogleMaps GSoC 2016

From OSGeo
Jump to navigation Jump to search

Link to OL3-GoogleMaps. This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google Maps map using the Google Maps API. This makes it very easy for users to use a Google Maps basemap while still working with the OL3 syntax.

The objectives for this summer is to integrate major features to the library such as support for WMS and TMS layers while integrating a few tools that will make future contributions to the library easier for everyone.

Schedule

Header text Header text
23 May - 10 June
  • Add support for WMS layers
13 June - 17 June
  • Add support for TMS/WMTS layers
  • Add support for XYZ layers
  • Start working on a website for the project
20 June - 24 June
  • Complete the website for the library
27 June - 1 July
  • Learn packaging using the node package manager
  • Use it to create a package for the library
4 July - 8 July
  • Learn how to use Travis CI and integrate it to the project
11 July - 15 July
  • Work on the requests being made when layers have no opacity, following the feedback from the ol3 community (patch for ol3)
18 July - 29 July
  • Text labels are not supported natively in Google Maps. Olgm implements its own way of dealing with text labels, but it doesn’t work properly with Google Map’s markers (texts are always on top of all markers). Implement a new way to deal with this issue.
1 August - 5 August
  • Various enhancements (example with a working overview map, Google StreetView)
8 August - 12 August
  • Write a wiki page for deployment
  • Deploy a new release
  • Announce the release on the OL3-dev list
15 August - 19 August
  • Final week: Tidy up code, improve documentation
  • Submit code sample
  • Submit final mentor evaluation


Reports

Week 1

What did you get done this week?

I spent last week working on a bug on the library where vector layers weren’t appearing anymore. For some reason, our custom layer’s parent didn’t dispatch events when its visibility changed. This week, I made a workaround where I dispatch the visible:change event then I call the parent function. It’s not a very clean fix but it allows me to move forward with the project, until we can find a better way to do it. The easiest part of the WMS layers integration is done. It’s now possible create tiled WMS layers with openlayers, and when a google layer is visible, the library renders the WMS layer on it using Google’s own mapping API.

What do you plan on doing next week?

The plan is to work all week on making single-tile WMS layers work with the library. It will be more complicated as it doesn’t seem like the OpenLayers library offers a public function to generate a WMS url for that kind of layer.

Are you blocked on anything?

I still haven’t found the real reason the custom layer of our library doesn’t dispatch events. It happens only when both OL3 and the library are compiled (using google closure). I’m not really stuck on it since I made a temporary workaround.

Student's Biography

Computing experience

I use Windows 10 at home, but I regularly use Ubuntu 14.04 for work and Mac OS X for school-related projects. I’m comfortable with Git and my favorite programming language is Python, although I often work with other languages such as Javascript and C++.

GIS experience as a user

I have to use some GIS libraries for work such as OpenLayers and PostGIS. I have used software such as QGIS in the past to create and debug maps. In my daily life, I often use online map services since I have a very bad sense of direction.

GIS programming

My part-time job is in a company specialised in GIS, but I have also contributed to open-source projects such as OpenLayers and Handsontable in the past, through pull requests.