Web-Based Mapping an Evaluation of Four Javascript Apis
Total Page:16
File Type:pdf, Size:1020Kb
Web-based mapping An evaluation of four JavaScript APIs Final thesis in Computer and Information Science at Linköping Institute of Technology by Magnus Näslund LITH-IDA-EX--07/067--SE Linköping 2007 I Web-based mapping An evaluation of four JavaScript APIs Final thesis in Computer and Information Science at Linköping Institute of Technology by Magnus Näslund LITH-IDA-EX--07/067--SE Linköping 2007 Examiner: Erik Berglund IDA, Linköping University Supervisors: Anders Larsson IDA, Linköping University Jean-Noel Heyraud Amadeus IT Group SA II III Avdelning, institution Datum Division, department Date Institutionen för datavetenskap Department of Computer 2007-12-20 and Information Science Linköping University Språk Rapporttyp Language Report category ISBN Engelska/English Examensarbete/Final ISRN LITH-IDA-EX--07/067--SE Thesis Serietitel och serienummer ISSN Title of series, numbering URL för elektronisk version URL for electronic version Titel Title Web-based mapping - An evaluation of four JavaScript APIs Författare Author Magnus Näslund Sammanfattning Abstract As a result of Web 2.0 technologies such as Asynchronous JavaScript and XML (Ajax) web-based applications with rich contents are evolving to be more and more like normal applications in aspects, such as interactivity, functionality, and usability. This evolvement makes it possible to create web-based services, providing maps for users to search and browse geographic information. This thesis is an evaluation of functionality, usability and accuracy for the four web- based map APIs: Google Maps, Microsoft Virtual Earth, Multimap and ViaMichelin. The thesis explains how web-based mapping works, common functionality provided, and evaluates the functionality provided by each map service provider as well as the offered usability. In addition to this, it also includes the results of several tests, illustrating the APIs’ browser compatibility, performance and accuracy. After testing and evaluation of the four APIs, the conclusion is that none of them can be appointed as the winner. They all have benefits and drawbacks; differences in terms of functionality, compatibility, usability, geocoding and development support, and the choice of API is consequently dependent of the type of application. As a result of this, and the fact that the APIs are constantly changing in terms of functionality and coverage, it is important to create applications independent of the map service provider. This was successfully done during the internship at Amadeus by creating a map abstraction layer in-between the applications and the maps, creating the possibility to switch API, or map service provider, without changed the code. Nyckelord Keywords Web mapping, map API, map evaluation, API Abstraction layer, geocoding IV V Abstract As a result of Web 2.0 technologies such as Asynchronous JavaScript and XML (Ajax) web-based applications with rich contents are evolving to be more and more like normal applications in aspects, such as interactivity, functionality, and usability. This evolvement makes it possible to create web-based services, providing maps for users to search and browse geographic information. This thesis is an evaluation of functionality, usability and accuracy for the four web-based map APIs: Google Maps, Microsoft Virtual Earth, Multimap and ViaMichelin. The thesis explains how web-based mapping works, common functionality provided, and evaluates the functionality provided by each map service provider as well as the offered usability. In addition to this, it also includes the results of several tests, illustrating the APIs’ browser compatibility, performance and accuracy. After testing and evaluation of the four APIs, the conclusion is that none of them can be appointed as the winner. They all have benefits and drawbacks; differences in terms of functionality, compatibility, usability, geocoding and development support, and the choice of API is consequently dependent of the type of application. As a result of this, and the fact that the APIs are constantly changing in terms of functionality and coverage, it is important to create applications independent of the map service provider. This was successfully done during the internship at Amadeus by creating a map abstraction layer in-between the applications and the maps, creating the possibility to switch API, or map service provider, without changed the code. VI VII Table of contents ABSTRACT ................................................................................................................................................ VI TABLE OF CONTENTS ........................................................................................................................ VIII LIST OF FIGURES ...................................................................................................................................... X 1 INTRODUCTION............................................................................................................................... 1 1.1 PURPOSE ........................................................................................................................................... 1 1.2 BACKGROUND ................................................................................................................................... 1 1.3 METHOD ........................................................................................................................................... 1 1.4 STRUCTURE OF THESIS ...................................................................................................................... 2 2 WEB-BASED MAPPING................................................................................................................... 3 2.1 HISTORY ........................................................................................................................................... 3 2.2 MAP TYPES ....................................................................................................................................... 3 2.3 COMMON WEB MAP FUNCTIONALITY ................................................................................................ 4 2.4 WEB -BASED MAPPING AND USABILITY .............................................................................................. 9 2.5 TECHNOLOGY ..................................................................................................................................10 2.6 GEOGRAPHICAL DATA ......................................................................................................................13 3 GOOGLE MAPS API ........................................................................................................................14 3.1 VIEWING MODES ..............................................................................................................................14 3.2 NAVIGATION AND CONTROLS ...........................................................................................................14 3.3 OVERLAYS .......................................................................................................................................16 3.4 ROUTE AND DRIVING DIRECTIONS ....................................................................................................18 3.5 GEO XML OVERLAY .........................................................................................................................19 3.6 EVENTS ............................................................................................................................................19 3.7 LANGUAGE SUPPORT ........................................................................................................................19 3.8 GEOCODING .....................................................................................................................................20 3.9 LIMITATIONS ....................................................................................................................................20 3.10 GOOGLE MAPS FOR ENTERPRISES ................................................................................................21 3.11 DOCUMENTATION AND SUPPORT .................................................................................................21 4 MULTIMAP API ...............................................................................................................................23 4.1 VIEWING MODES ..............................................................................................................................23 4.2 NAVIGATION AND CONTROLS ...........................................................................................................23 4.3 OVERLAYS .......................................................................................................................................25 4.4 MARKER ..........................................................................................................................................25 4.5 EVENTS ............................................................................................................................................27 4.6 LANGUAGE SUPPORT ........................................................................................................................27 4.7 DRIVING DIRECTIONS .......................................................................................................................27 4.8 GEOCODING .....................................................................................................................................29