Open Maps (Or Close Enough?)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Open Maps (Or Close Enough?) - Presentation Transcript

    1.    Open Maps (Or Close Enough?)
    2. Mapping APIs These are the top players in the (Interactive) Mapping API world. Google                 Yahoo!               Microsoft          Mapquest
    3. Mapping APIs underlying data javascript UI library rendered tiles Basically each of those APIs have this composition, where most or all of the blocks are not “open.” provided for developer use
    4. Mapping APIs underlying data javascript UI library rendered tiles So, to have an "Open Maps API", we need to make each of these layers open. OpenStreetMap OpenAerialMap OpenTopoMap ..other sources... OSMARender Mapnik Mapstraction OpenLayers
    5. OpenStreetMap/OSMARender Basically a map wiki. Users trace data, upload GPS tracks, import other open data. Primarily for POIs/roads. OSMARender software is used to output tiles of data. Editing:                                             Using: underlying data rendered tiles
    6. OpenAerialMap/OpenTopoMap A repository for satellite and physical map uploads (raster data). Blended together for unified tile output. underlying data rendered tiles
    7. Mapnik Open source C++ software that generates map tiles from geo input formats (SHP/TIFF/PostGIS). rendered tiles
    8. OpenLayers Open-source JS library that creates interactive maps with any tile source and adds overlays. Also designed for easy hook-up with tile generating servers. javascript UI library
    9. Mapstraction Open-source JS library that wraps other maps APIs (Google, MS, Yahoo, OpenLayers, MapQuest, MultiMap, OpenLayers,etc). Developer can avoid vendor lock-in while abiding to ToU. javascript UI library
    10. Possible open stacks OpenStreetMap + OSMARender OpenAerialMap OpenTopoMap OpenLayers Google Maps API OpenLayers Mapquest  API Mapstraction OpenStreetMap + OSMARender OpenAerialMap OpenTopoMap Google Maps API ESRI SHP files + PostGIS DB OpenLayers Mapnik Depending on your needs (licensing/data flexibility/pricing), you can combine the various open components for a custom stack.  Just a few permutations below...
    11.    Mapstraction: More Detail
    12. Mapstraction: The Basics
      • JS Maps APIs share common features:
        • zooming/panning
        • map types
        • controls
        • overlays
        • infowindows
        • events
      • Mapstraction abstracts and wraps specific implementation details.
    13. Mapstraction: Adding a map to your page
        • 1. Create/size a map DIV
        • 2. Load the Maps API JS + Mapstraction JS
        • 3. Create + center the map
      <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head>     <script src=&quot;http://maps.google.com/maps?file=api&v=2&key=ABQIAA...-OUw&quot; type=&quot;text/javascript&quot;></script>     <script type=&quot;text/javascript&quot; src=&quot;../common/mapstraction.js&quot;></script>    </head>   <body>     <div id=&quot; simplemap &quot; style=&quot;width: 500px; height: 300px&quot;></div>     <script type=&quot;text/javascript&quot;>       var mapstraction = new Mapstraction(' simplemap ','google');        mapstraction.setCenterAndZoom(new LatLonPoint(43,-79), 15);      </script>   </body> </html>
    14. Mapstraction: Adding a marker   var marker = new Marker(new LatLonPoint(43, -79)
        • 1. Initialise the marker
      marker.setInfoBubble(&quot;<b>Googleplex</b> Welcome!&quot;);
        • 2. Make a bubble pop up when clicked
      mapstraction.addMarker(marker);
        • 3. Display the marker
      Javascript Key: CSS HTML
    15. Mapstraction: Looking at the code Mapstraction.prototype.setCenterAndZoom = function(point, zoom) {      var map = this.maps[this.api];      switch (this.api) { case 'google': case 'openstreetmap': map.setCenter(point.toGoogle(), zoom); break; case 'microsoft': map.SetCenterAndZoom(point.toMicrosoft(),zoom); break; case 'openlayers': map.setCenter(point.toOpenLayers(), zoom); break; case 'multimap': map.goToPosition( new MMLatLon( point.lat, point.lng ), zoom ); break; case 'map24': var newSettings = {}; newSettings.Latitude = point.lat*60; newSettings.Longitude = point.lon*60; ..... A snippet from setCenterAndZoom in the JS:

    + wuzziwugwuzziwug, 12 months ago

    custom

    1872 views, 2 favs, 0 embeds more stats

    A look at the various open source/open data options more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1872
      • 1872 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 19
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories