0% found this document useful (0 votes)
83 views46 pages

(Ebook) Beginning Google Maps API 3 by Gabriel Svennerberg ISBN 9781430228028, 1430228024 Download

Beginning Google Maps API 3 by Gabriel Svennerberg is a comprehensive guide to integrating Google Maps into web applications using the latest version of the API. The book covers essential topics such as building reliable applications, best practices in HTML, CSS, and JavaScript, and solutions to common developer challenges. It is designed for beginners and intermediate users, providing practical examples and explanations to enhance understanding of the Google Maps API.

Uploaded by

afikahshikin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views46 pages

(Ebook) Beginning Google Maps API 3 by Gabriel Svennerberg ISBN 9781430228028, 1430228024 Download

Beginning Google Maps API 3 by Gabriel Svennerberg is a comprehensive guide to integrating Google Maps into web applications using the latest version of the API. The book covers essential topics such as building reliable applications, best practices in HTML, CSS, and JavaScript, and solutions to common developer challenges. It is designed for beginners and intermediate users, providing practical examples and explanations to enhance understanding of the Google Maps API.

Uploaded by

afikahshikin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

(Ebook) Beginning Google Maps API 3 by Gabriel

Svennerberg ISBN 9781430228028, 1430228024


download

https://ebooknice.com/product/beginning-google-maps-api-3-2318248

Explore and download more ebooks at ebooknice.com


We have selected some products that you may be interested in
Click the link to download now or visit ebooknice.com
for more options!.

(Ebook) Beginning Google Maps API 3 by Gabriel Svennerberg ISBN


9781430228028, 9781430228035, 1430228024, 1430228032

https://ebooknice.com/product/beginning-google-maps-api-3-1470814

(Ebook) Google Maps API, V2: Adding Where To Your Applications


by Scott Davis ISBN 9788006997760, 8006997764

https://ebooknice.com/product/google-maps-api-v2-adding-where-to-your-
applications-1348698

(Ebook) Beginning Google Maps Applications with PHP and Ajax:


From Novice to Professional by Michael Purvis ISBN
9781590597101, 1590597109

https://ebooknice.com/product/beginning-google-maps-applications-with-php-
and-ajax-from-novice-to-professional-1273312

(Ebook) Google Maps Mashups with Google Mapplets by Michael


Young ISBN 9781430209959, 143020995X

https://ebooknice.com/product/google-maps-mashups-with-google-
mapplets-1265508
(Ebook) Hacking Google Maps and Google Earth by Martin C. Brown
ISBN 9780471790099, 0471790095

https://ebooknice.com/product/hacking-google-maps-and-google-earth-918680

(Ebook) Beginning Google Maps Applications with PHP and Ajax:


From Novice to Professional by Jeffrey Sambells, Michael Purvis,
Cameron Turner ISBN 9781590597071, 1590597079

https://ebooknice.com/product/beginning-google-maps-applications-with-php-
and-ajax-from-novice-to-professional-928906

(Ebook) Learning Bing Maps API by Sinani, Artan ISBN


9781783550371, 1783550376

https://ebooknice.com/product/learning-bing-maps-api-29600190

(Ebook) Mining Google Web Services: Building Applications with


the Google API by John Paul Mueller, Sybex ISBN 0782143334

https://ebooknice.com/product/mining-google-web-services-building-
applications-with-the-google-api-2447350

(Ebook) Programming Google Glass: The Mirror API by Eric Redmond


ISBN 9781937785796, 1937785793

https://ebooknice.com/product/programming-google-glass-the-mirror-
api-5473004
CYAN YELLOW
MAGENTA BLACK
PANTONE 123 C

BOOKS FOR PROFESSIONALS BY PROFESSIONALS ® THE EXPERT’S VOICE ® IN WEB DEVELOPMENT


Companion
eBook

Beginning Google Maps API 3


Available
Beginning
Dear Reader,

Google Maps API 3


Version 3 of the Google Maps API has been remade from the ground up. It’s
faster and more powerful than ever, yet it’s more lightweight. This makes it
very well suited for both desktop and mobile browsers. In this book, I guide
you through everything you need to know to integrate Google Maps on your

Beginning
own web sites. Don’t worry if you think your JavaScript skills might be a bit out
of tune—I explain all the details you need to know to get started. In fact, as an
Gabriel Svennerberg
added bonus, you will learn a lot of JavaScript from reading this book.

Google Maps
These are some of the things you’ll learn:
• How to build reliable Google Maps applications
• Best practices using HTML, CSS, and JavaScript
• Transferring from version 2 to version 3
• Solutions to common problems most developers encounter, such as having
too many markers, as well as how to avoid common JavaScript pitfalls
• How to look up addresses and find the location of the user

API 3
I’ve written numerous articles and tutorials about the Google Maps API on
my blog, In usability we trust, at www.svennerberg.com. From the responses
I’ve received from my readers, I’ve realized that there’s a great need for simple
explanations on how to use the Google Maps API, and that has inspired me to
write this book. The Google Maps API is a powerful and fun API to work with,
and I want to share my knowledge about it with others.
I hope that you will come to like the Google Maps API as much as I do and
that you’ll create all kinds of awesome map applications after reading this book.

Gabriel Svennerberg

Learn how to build lightning fast mapping


Companion eBook
applications with the latest, totally remade,
version of the Google Maps API
RELATED TITLES

See last page for details


on $10 eBook version

Svennerberg Gabriel Svennerberg


SOURCE CODE ONLINE
www.apress.com ISBN 978-1-4302-2802-8
5 39 9 9

US $39.99

Shelve in:
Web Development

User level: 9 781430 228028


Beginner – Intermediate

this print for content only—size & color not accurate spine = 0.75" 328 page count
Download from Wow! eBook <www.wowebook.com>
Beginning Google Maps
API 3

■■■
Gabriel Svennerberg
Beginning Google Maps API 3
Copyright © 2010 by Gabriel Svennerberg
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording, or by any information storage or
retrieval system, without the prior written permission of the copyright owner and the publisher.
ISBN-13 (pbk): 978-1-4302-2802-8
ISBN-13 (electronic): 978-1-4302-2803-5
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol
with every occurrence of a trademarked name, logo, or image we use the names, logos, and images
only in an editorial fashion and to the benefit of the trademark owner, with no intention of
infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they
are not identified as such, is not to be taken as an expression of opinion as to whether or not they are
subject to proprietary rights.
President and Publisher: Paul Manning
Lead Editor: Matt Wade
Technical Reviewer: Rob Drimmie
Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell,
Jonathan Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan Parkes,
Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke,
Dominic Shakeshaft, Matt Wade, Tom Welsh
Coordinating Editors: Mary Tobin and Jennifer L. Blackwell
Copy Editor: Kim Wimpsett
Compositor: Mary Sudul
Indexer: John Collin
Artist: April Milne
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Science+Business Media, LLC., 233 Spring
Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail
[email protected], or visit www.springeronline.com.
For information on translations, please e-mail [email protected], or visit www.apress.com.
Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use.
eBook versions and licenses are also available for most titles. For more information, reference our
Special Bulk Sales–eBook Licensing web page at www.apress.com/info/bulksales.
The information in this book is distributed on an “as is” basis, without warranty. Although every
precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have
any liability to any person or entity with respect to any loss or damage caused or alleged to be caused
directly or indirectly by the information contained in this work.
The source code for this book is available to readers at www.apress.com.
To my son, Ludvig, who was born during the writing of this book.
Contents at a Glance

Contents....................................................................................................................v
About the Author ...................................................................................................xiii
About the Technical Reviewer ............................................................................... xiv
Acknowledgments .................................................................................................. xv
Introduction ........................................................................................................... xvi

■ Chapter 1: Introducing the Google Maps API .......................................................1


■ Chapter 2: Transferring from Version 2 to 3 ........................................................7
■ Chapter 3: Creating Your First Map ...................................................................23
■ Chapter 4: Taking the Map Further with MapOptions ........................................45
■ Chapter 5: X Marks the Spot ..............................................................................73
■ Chapter 6: Marker Icons ..................................................................................101
■ Chapter 7: InfoWindow Tips and Tricks ...........................................................131
■ Chapter 8: Creating Polylines and Polygons ....................................................157
■ Chapter 9: Dealing with Massive Numbers of Markers ...................................177
■ Chapter 10: Location, Location, Location.........................................................211
■ Appendix: API Reference..................................................................................243

Index.....................................................................................................................281

iv
■ CONTENTS

Contents

Contents at a Glance................................................................................................iv
About the Author ...................................................................................................xiii
About the Technical Reviewer ............................................................................... xiv
Acknowledgments .................................................................................................. xv
Introduction ........................................................................................................... xvi

■ Chapter 1: Introducing the Google Maps API .......................................................1


A Brief History..................................................................................................................2
How It Works ...................................................................................................................3
A New API ........................................................................................................................3
Slimmed-Down Feature Set ...................................................................................................................3
Focus on Performance............................................................................................................................3
Mapping Fundamentals ...................................................................................................4
Coordinates ............................................................................................................................................4
Summary .........................................................................................................................6

■ Chapter 2: Transferring from Version 2 to 3 ........................................................7


What’s Different?.............................................................................................................7
A New Namespace .................................................................................................................................7
Extensive Use of Object Literals .............................................................................................................8
Asynchronous by Nature ........................................................................................................................8
Converting from Version 2 to 3 ........................................................................................9
Adding a Reference to the API................................................................................................................9

v
■ CONTENTS

Creating a Map .....................................................................................................................................10


Markers ................................................................................................................................................12
InfoWindows .........................................................................................................................................14
Polylines ...............................................................................................................................................16
Polygons ...............................................................................................................................................17
Events...................................................................................................................................................19
Summary .......................................................................................................................21

■ Chapter 3: Creating Your First Map ...................................................................23


Setting the Scene ..........................................................................................................23
The HTML Page.....................................................................................................................................23
What Flavor of HTML to Use .................................................................................................................24
Validate Your Code ...............................................................................................................................24
Other Tools ...........................................................................................................................................27
Laying the Foundation ..........................................................................................................................27
Time to Start Coding ......................................................................................................32
Debugging Tool: Firebug ......................................................................................................................36
Setting Up the Map ...............................................................................................................................37
Making the Code Run on Page Load.....................................................................................................40
Creating Maps for Mobile Devices.................................................................................43
Summary .......................................................................................................................43

■ Chapter 4: Taking the Map Further with MapOptions ........................................45


A Fresh Start..................................................................................................................45
Controlling the User Interface........................................................................................46
disableDefaultUI ...................................................................................................................................46
mapTypeControl ...................................................................................................................................47
mapTypeControlOption .........................................................................................................................48
navigationControl .................................................................................................................................53
navigationControlOptions .....................................................................................................................54
scaleControl..........................................................................................................................................57

vi
■ CONTENTS

scaleControlOptions..............................................................................................................................58
keyboardShortcuts ...............................................................................................................................58
disableDoubleClickZoom ......................................................................................................................58
draggable .............................................................................................................................................59
scrollwheel ...........................................................................................................................................59
streetViewControl .................................................................................................................................59
streetView.............................................................................................................................................61
Controlling the Map Container .......................................................................................61
noClear .................................................................................................................................................61
backgroundColor ..................................................................................................................................61
Controlling the Cursor....................................................................................................62
draggableCursor ...................................................................................................................................62
draggingCursor.....................................................................................................................................63
Controlling the Map Settings with Methods ..................................................................63
setOptions.............................................................................................................................................64
The Specific Methods ...........................................................................................................................64
Putting the Methods to Use ..................................................................................................................65
Dynamically Changing the MapOptions Object.....................................................................................68
The Complete Code ..............................................................................................................................71
Summary .......................................................................................................................72

■ Chapter 5: X Marks the Spot ..............................................................................73


Setting a Starting Point..................................................................................................73
A Simple Marker ............................................................................................................74
Adding a Tooltip....................................................................................................................................75
Changing the Icon.................................................................................................................................76
The Complete Code So Far ...................................................................................................................78
Adding an InfoWindow..........................................................................................................................79
The Complete Code ..............................................................................................................................82
More Markers .......................................................................................................................................83
Adding U.S. Cities to the Map ...............................................................................................................85

vii
■ CONTENTS

Automatically Adjusting the Viewport to Fit All Markers ...............................................95


Introducing the LatLngBounds Object ..................................................................................................96
Let the API Do the Heavy Lifting ...........................................................................................................97
The Complete Code........................................................................................................98
Summary .....................................................................................................................100

■ Chapter 6: Marker Icons ..................................................................................101


Setting a Starting Point................................................................................................101
Changing the Marker Icon ...........................................................................................102
Introducing the MarkerImage Object..................................................................................................102
MarkerImage’s Five Properties...........................................................................................................102
Adding a Custom Icon to a Marker .....................................................................................................103
Putting It Together ..............................................................................................................................103
Enabling and Disabling the Shadow ...................................................................................................106
Defining a Clickable Area ...................................................................................................................107
The Complete Code ............................................................................................................................109
Using Sprites ...............................................................................................................109
Latency ...............................................................................................................................................111
Sprite Support ....................................................................................................................................111
The Complete Code ............................................................................................................................114
Where to Find Icons .....................................................................................................115
google-maps-icons.............................................................................................................................115
Google Maps: Colored Markers ..........................................................................................................116
Mapito Map Marker Icons...................................................................................................................116
Changing the Marker Icon According to Mouse Events ...............................................117
Defining the MarkerImages ................................................................................................................118
Adding the Events...............................................................................................................................118
The Complete Code ............................................................................................................................120
A Clever Way of Dealing with Lots of Different Marker Icons ......................................122
Adding Dynamic Data .........................................................................................................................124

viii
■ CONTENTS

Faking an Ajax Call .............................................................................................................................124


The Complete Code ............................................................................................................................126
Benefits ..............................................................................................................................................128
Creating a Custom Marker Icon ...................................................................................128
Online Tools ........................................................................................................................................128
Summary .....................................................................................................................129

■ Chapter 7: InfoWindow Tips and Tricks ...........................................................131


Setting a Starting Point................................................................................................131
Style Sheet .........................................................................................................................................132
JavaScript...........................................................................................................................................133
Adding Rich Content to the InfoWindow ......................................................................133
Providing the HTML As a String ..........................................................................................................134
The Complete Code ............................................................................................................................137
Inserting a Video Using HTML5....................................................................................139
Browser Support.................................................................................................................................139
Altering the HTML ...............................................................................................................................140
Examining the <video> Element ........................................................................................................140
The Example .......................................................................................................................................141
The Complete Code for Adding a Video to an InfoWindow .................................................................145
Creating a Detail Map ..................................................................................................146
Creating the InfoWindow ....................................................................................................................148
The Complete Code ............................................................................................................................149
Creating a Zoom-In Link ..............................................................................................150
Adding the Event Handler ...................................................................................................................151
Opening the InfoWindow ....................................................................................................................153
The Complete Code ............................................................................................................................154
Further Refinements...........................................................................................................................155
Summary .....................................................................................................................155

ix
■ CONTENTS

■ Chapter 8: Creating Polylines and Polygons ....................................................157


Creating Polylines . ......................................................................................................157
Creating a Simple Polyline....................................................................................................................158
Polyline Arrays......................................................................................................................................163
Plotting Your Own Path.........................................................................................................................163
Creating Polygons. ......................................................................................................166
Creating a Simple Polygon ...................................................................................................................166
Creating Donuts ....................................................................................................................................170
Creating a Polygon with a Highlight Effect . .........................................................................................173
The Bermuda Triangle ..........................................................................................................................173
Summary . ...................................................................................................................176

■ Chapter 9: Dealing with Massive Numbers of Markers ...................................177


Too Many Markers? . ...................................................................................................177
Reducing the Number of Markers Being Displayed . ...................................................179
Searching .............................................................................................................................................179
Filtering ................................................................................................................................................180
Don’t Always Use Markers....................................................................................................................181
Clustering .............................................................................................................................................181
Some Practical Examples . ..........................................................................................182
The Starting Point.................................................................................................................................183
Calculating the Current Map Boundaries. ............................................................................................183
Adding the Markers ..............................................................................................................................185
The Final Code ......................................................................................................................................187
Third-Party Libraries. ..................................................................................................188
MarkerClusterer....................................................................................................................................188
MarkerManager ....................................................................................................................................195
Summary . ...................................................................................................................210

x
■ CONTENTS

■ Chapter 10: Location, Location, Location.........................................................211


Geocoding....................................................................................................................211
Restrictions.........................................................................................................................................211
The Geocoder Object ..........................................................................................................................212
Building an Address Lookup Web Page ..............................................................................................212
Reverse Geocoding ......................................................................................................223
Building a Reverse Geocoding Map ....................................................................................................223
The Complete Code for This Example.................................................................................................227
Finding the Location of the User..................................................................................229
IP-Based Geocoding ...........................................................................................................................229
Creating a Location-Aware Map .........................................................................................................230
The Complete JavaScript Code for This Example ...............................................................................234
Getting Better Accuracy......................................................................................................................235
Summary .....................................................................................................................242
■ Appendix: API Reference..................................................................................243
How to Read the Reference .........................................................................................243
Data Types..........................................................................................................................................243
The Namespace ...........................................................................................................244
The Reference..............................................................................................................244
Map Class ...........................................................................................................................................244
MapOptions Object .............................................................................................................................248
MapTypeId Class ................................................................................................................................249
MapTypeControlOptions Object ..........................................................................................................250
MapTypeControlStyle Class ................................................................................................................250
NavigationControlOptions Object........................................................................................................251
NavigationControlStyle Class..............................................................................................................251
ScaleControlOptions Object ................................................................................................................252
ScaleControlStyle Class......................................................................................................................252
ControlPosition Class..........................................................................................................................252
MapPanes Object................................................................................................................................254

xi
■ CONTENTS

MapCanvasProjection Object..............................................................................................................254
Marker Class.......................................................................................................................................255
MarkerOptions Object.........................................................................................................................258
MarkerImage Class.............................................................................................................................259
MarkerShape Object...........................................................................................................................260
Polyline Class .....................................................................................................................................261
PolylineOptions Object........................................................................................................................262
Polygon Class .....................................................................................................................................263
PolygonOptions Object........................................................................................................................265
InfoWindow Class ...............................................................................................................................266
InfoWindowOptions Object .................................................................................................................267
Geocoder Class...................................................................................................................................268
GeocoderRequest Object ....................................................................................................................269
GeocoderStatus Class.........................................................................................................................269
GeocoderResult Object .......................................................................................................................270
GeocoderAddressComponent Object ..................................................................................................271
GeocoderGeometry Object..................................................................................................................271
GeocoderLocationType Class..............................................................................................................272
MapsEventListener Object..................................................................................................................272
event Namespace ...............................................................................................................................272
MouseEvent Object.............................................................................................................................273
LatLng Class .......................................................................................................................................274
LatLngBounds Class ...........................................................................................................................275
Point Class..........................................................................................................................................276
Size Class ...........................................................................................................................................277
MVCObject Class.................................................................................................................................278
MVCArray Class ..................................................................................................................................279

Index.....................................................................................................................281

xii
■ CONTENTS

About the Author

■ Gabriel Svennerberg is a usability-oriented web developer from Sweden.


He’s been working in the web industry for more than a decade and is known
in the web developer community for evangelizing usability and web
standards. He’s also known for spreading knowledge about the Google Maps
API through his website, In usability we trust, which features articles about
Google Maps, usability, and other things related to web development. It’s
found at www.svennerberg.com.
In his current job at Saab Security Solutions (www.saabgroup.com), Gabriel
is busy designing and building web applications for situation awareness and
crisis management. These applications always incorporate maps in some
way, and the Google Maps API is one of the mapping solutions being used.
Gabriel lives in Växjö, Sweden, with his fiancée, Petronella, and their son
Ludvig.
Photographer:
Kristin Horn Sellström

xiii
■ FOREWORD

About the Technical Reviewer

■ Rob Drimmie is a software developer with a bias toward web-based


applications. The best things about him are his wife and children. He likes pho
and hamburgers but has never eaten both at the same sitting.

xiv
■ INTRODUCTION

Acknowledgments

First of all, I would like to thank my beloved fiancée, Petronella Frisk, for putting up with me spending
evenings and weekends writing this book. Thank you for your patience and support! I couldn’t have
done it without you!
Many thanks to Tom Skinner for helping me with the initial reviews of the chapters and with
testing the examples. Your help has been immensly valuable to me. If not for you, the book would have
been a lot poorer. I would also like to thank you for your words of encouragement at the times when I
needed it the most. Also thanks to Charlie Irish, who helped proofread Chapter 5, before I used it as a
beta chapter.
My former college Chris Jangelöv has been a source of inspiration over the years. I probably owe it
to him that I entered into the world of web standards, usability, and blogging in the first place. Thank
you, Chris, for always having new ideas and being encouraging.
I would also like to extend a thanks to my employer, Saab Security Solutions in Växjö, for letting me
take some time off to work on the book. This was very much needed since a day has only 24 hours—
something that I’ve been acutely aware of since becoming a parent.
The people at Apress also deserve thanks for guiding me through the process of writing this, my
first book.
Last but not least, I would like to thank the readers of my blog, In usability we trust, whose feedback,
words of encouragement, and questions have been invaluble for writing this book. They motivated me
to undertake this endeavor and encouraged me during times of despair. They also gave me plenty of
ideas of what to write about and what problems to address. Thanks a lot!

xv
■ INTRODUCTION

Introduction

This book started out as an idea in spring 2009. I had written quite a few articles and tutorials about the
Google Maps API v2 and thought that I could reuse them to write a book. That shouldn’t take too long, I
thought. Shortly after, during Google I/O 2009, Google announced that it was releasing version 3 of the
API. This release was a total remake of the old one, and I soon realized that I now had to write a book
about this version instead. This rendered my intital plan to reuse my old articles completely useless. I
also had to learn the new API; it was, after all, a complete remake. In retrospect, I’m glad that I did. The
new API has a much cleanear programming interface and is more well structured than the old one. It
just feels better to program with. And now that the book is being published, version 2 is deprecated,
and version 3 is the recommended alternative for new map applications.
Writing this book became a bigger undertaking than I first anticipated, but it has also been a lot
more fun and interesting journey than I expected (even if I’ve despaired at times). Writing this, my
first book, has been a learning experience. When I started the project, I had no clue how to go about it. I
didn’t now how to get it published or how to structure it. But it all somehow unfolded as the work
progressed, and here I am now, with a finished book.
My journey with Google Maps started in 2007, when I created my very first map. It was a map
showing the location of a restaurant. It not only let you see the location of the restaurant but also
allowed you to enter an address in a text field to get driving directions. Very cool stuff. Since then, I’ve
created a lot of maps using the API, not the least as part of my job as a web developer and interaction
designer at Saab Security Solutions.
My hope for this book is that you as a reader will be able to quickly grasp the concepts of the
Google Maps API so that you can create your own map solutions. In fact, after reading this book, I hope
that you’re not only able to create your own maps but that you’re also able to deal with many of the
common pitfalls most developers encounter when building Google Maps solutions.

Who This Book Is For


This book is primarily for web designers/developers who want to learn how to use the Google Maps
API on their own web sites. But even if you’re not in the field, you should be able to learn the concepts
since they’re thoroughly described. It certainly helps if you have a basic understanding of how to
create a web page and how the Web works, but other than that, you should be able to learn how to use
the API from just this book.
This book is also for those of you who have been using version 2 of the API. I’ve dedicated a whole
chapter for you, Chapter 2, where I explain the differences between the two versions so that you can
easily transfer your old maps to the new API.

Downloading the Code


You can download all the code for the examples from the book’s web site at
http://www.svennerberg.com/bgma3. It’s also available on the Apress website at
http://apress.com/book/view/1430228024

xvi
CHAPTER 1

■■■

Introducing the Google Maps API

On today’s Web, mapping solutions are a natural ingredient. We use them to see the location of things,
to search for the position of an address, to get driving directions, and to do numerous other things. Most
information has a location, and if something has a location, it can be displayed on a map.
There are several mapping solutions including Yahoo! Maps and Bing Maps, but the most popular
one is Google Maps. In fact, according to Programmableweb.com, it’s the most popular API on the
Internet. According to the site’s May 2010 statistics, 43 percent of all mashups use the Google Maps API
(www.programmableweb.com/apis). In comparison, the second most popular API was Flickr with 11
percent, and the second most popular mapping API was VirtualEarth (Bing Maps) with 3 percent.
Applications and web sites that are combining data or functionality from two or more sources are
commonly referred to as mashups. Mashups are becoming increasingly popular and have revolutionized
the way information is being used and visualized.
Mapping solutions are one important ingredient in a lot of these mashups. The Google Maps API
lets you harness the power of Google Maps to use in your own applications to display your own (or
others’) data in an efficient and usable manner.
An example of a mashup using the Google Maps API is the coverage of the Deepwater Horizon oil
spill in the Gulf of Mexico. It combines data of the extent of the oil spill with Google Maps to visualize its
massive impact (Figure 1-1); see http://mw1.google.com/mw-earth-vectordb/disaster/gulf_oil_spill/
gulf_oil_map.html.

1
CHAPTER 1 ■ INTRODUCING THE GOOGLE MAPS API

Figure 1-1. The impact of the Deepwater Horizon oil spill visualized in Google Maps

This book is about the Google Maps JavaScript API. Other APIs are available, such as the Maps API
for Flash and the Static Maps API. These are both great additions but are not covered in this book.

A Brief History
Google Maps was introduced in a blog post on Google in February 2005. It revolutionized the way maps
on web pages work by letting the user drag the map to navigate it. This was new at the time. The map
solutions used then were expensive and required special map servers, yet they didn’t deliver the same
level of interactivity.
Google Maps was originally developed by two Danish brothers, Lars and Jens Rasmussen. They
cofounded Where 2 Technologies, a company dedicated to creating mapping solutions. The company
was acquired by Google in October 2004, and the two brothers then created Google Maps. (They are also
the men behind Google Wave.)
Before there was a public API, some developers figured out how to hack Google Maps to incorporate
maps on their own web sites. This led Google to the conclusion that there was a need for a public API,
and in June 2005 it was publically released. The first mashup on the Internet is often considered to be

2
Random documents with unrelated
content Scribd suggests to you:
»Du glaubst,« sagte er nun zu der Eule, »daß ich ein Dieb bin
wie du? ich, ich stehle nicht; ich werde nur nehmen, was mir
gebührt.« Und er zählte seine fünfundzwanzig Realen ab und steckte
sie zu sich; dann ging er heim.
Als er zu Hause angelangt war, sagte er zu seiner Mutter:
»Mutter, das ist das Geld von dem, dem ich den Ochsen verkauft
habe.« Und er fügte bei: »Ich selber habe mit meinen eigenen
Händen die fünfundzwanzig Realen aus dem Schatze genommen.«
»Mein Sohn,« sagte die Mutter, »gehn wir zu ihm.«
»Mutter, wenn du willst, so gehn wir hin; ich fürchte aber, daß du
ihn bestehlen wirst.«
»Pfui, mein Sohn! Deinem Freunde, zu dem wir als Gäste
kommen, dem werde ich etwas stehlen!«
»Also gut; komm, gehn wir.«
In aller Eile kochte sie nun Bohnen und Eier und buk Kuchen. Als
sie dann das Dörfchen verließen, warf sie die Bohnen über Dscheha;
er las sie auf und sagte: »Mutter, es regnet Bohnen.«
»Lies sie auf, mein Sohn.« Dscheha las sie auf und aß sie. Seine
Mutter ging immer weiter; und als sie an dem bewußten Orte
angekommen waren, sagte sie zu ihm: »Nun, mein Sohn, wo ist das
Haus deines Freundes?«
»Da,« antwortete Dscheha.
»Zeig es mir doch.«
»Nun hier.«
»Das da?«
»Komm, ich werde es dir zeigen.«
Als er sie hingeführt hatte und sie den Schatz sah, warf sie
Kuchen in die Höhe, so daß sie auf Dscheha niederfielen; und er
sagte: »Ach, Mutter, es regnet Kuchen.« Er begann sie aufzulesen
und sie zu essen. Seine Mutter bemächtigte sich des Schatzes und er
sagte zu ihr: »Hüte dich, Mutter, etwas zu nehmen.«
»Ich nehme nichts, mein Sohn.« Aber sie hob den Schatz und
wickelte ihn in ein großes Baumwolltuch, um ihn wegzutragen; und
zu Dscheha sagte sie: »Komm, mein Kind, gehn wir.«
Sie gingen. Als sie ins Dörfchen kamen, warf sie die Eier über
ihn. »Mutter,« sagte er, »es regnet Eier.« Er las sie auf und aß sie,
und sie kamen nach Hause.
An diesem Abende ging Dscheha dorthin, wo die Leute
zusammenkamen, und sagte zu ihnen: »Heute haben meine Mutter
und ich einen Schatz heimgetragen.«
Sie fragten ihn: »Wann?«
»Wir sind weggegangen,« antwortete Dscheha, »als es Bohnen
regnete. Als dann der Kuchenregen gekommen ist, sind wir bei dem
Schatze eingetroffen, den meine Mutter weggetragen hat. Ins Dorf
sind wir zurückgekommen in dem Augenblicke, wo es Eier regnete.«
»Bah,« sagten sie untereinander, »der Junge ist ein Tölpel;
nehmt seine Worte doch nicht ernst.«
Warum hatte nun die Mutter Dschehas die Bohnen und die Eier
gesotten und die Kuchen gebacken? Weil sie nicht zweifelte, daß der
Dummkopf von ihrem Sohne alles ausplaudern werde; darum hat sie
ihm die Bohnen und die Eier gesotten und die Kuchen gebacken. Sie
hatte es sich an den Fingern abgezählt, daß Dscheha, wenn er den
andern sagen werde: »Wir haben einen Schatz heimgebracht«,
beifügen werde: »als es Bohnen und dann Kuchen und dann Eier
regnete«; und sie wußte, daß also niemand seine Worte ernst
nehmen werde.

408.

S I Dscheha konnte kein Pferd besteigen, aber ein guter Fußgänger


war er. Eines Tages ließ ihn nun der Kaid des Dorfes rufen und
sagte zu ihm: »Si Dscheha, du mußt mir diesen Brief zum Bei
von Algier bringen; steig auf mein Pferd und spute dich.«
Das Pferd des Kaids war aber ein hitziges Tier, das niemand
besteigen konnte außer seinem Herrn. Si Dscheha, der das wußte,
zog sich mit einem einzigen Worte aus dem Handel; er fragte: »Ist
es eilig, Herr Kaid?«
»Sehr eilig,« antwortete der Kaid.
»Dann«, sagte Dscheha, »geh ich zu Fuß; ich werde so viel
schneller dort sein, als wenn ich zu Pferde stiege.«
Alle schüttelten sich vor Lachen, als sie ihn so reden hörten. Der
Kaid, der Si Dscheha nur einen Streich hatte spielen wollen, sagte:
»Bleib da; du wirst mit mir essen.«

409.

S I Dscheha hatte einen Feind, der ein Eierhändler war. Den traf er
eines Tages, als er auf den Markt ging; er trat auf ihn zu und
sagte: »Du hast da wirklich schöne Eier.«
»Laß den Spott,« sagte der Händler. »Willst du welche kaufen, so
kauf; wenn nicht, so geh deines Weges.«
Dscheha kaufte zwei Eier und steckte geschickt in jedes ein
Goldstück. Dann sagte er zu seinem Feinde: »Höre; ich will jetzt
Frieden machen mit dir, und darum will ich dir einen guten Rat
geben.«
»Wir werden sehn,« sagte der Händler; »sprich.«
Nun sagte ihm Dscheha ins Ohr: »Verkaufe diese Eier nicht; alle
enthalten sie Goldstücke!«
»Pack dich,« schrie der Händler; »du lügst.«
»Ich lüge?« sagte Dscheha; »also gut: sieh her.« Und er schlug
vor ihm die zwei Eier auf, die er gekauft hatte. Der Händler stand
ganz verdutzt da, als er die zwei Goldstücke sah, die zum Vorscheine
kamen. Dscheha las sie auf, schob sie in seine Tasche und ging
heim.
Alsbald nahm der Händler seine Eier und schlug sie alle ohne
Ausnahme auf. Goldstücke aber fand er nicht ein einziges, und er
schrie: »Gott verderbe die Augen Si Dschehas, so wie ich alle meine
Eier verdorben habe!«

410.

S I Dscheha hatte in einem Hause, das auch der Eigentümer


bewohnte, eine Kammer gemietet. Er bezahlte nie die Miete und
lärmte die ganze Nacht in seiner Kammer. Der Eigentümer, der
dieses Lärms halber nicht schlafen konnte, sagte eines Tages zu ihm:
»Warum verübst du allnächtlich einen solchen Lärm in deiner
Kammer?«
»Mein Sohn,« antwortete Dscheha, »ich richte Schlangen ab, um
sie den Aissawa6 zu verkaufen.«
»Du züchtest Schlangen in meinem Hause?« schrie der
Eigentümer. »Gut also; du kannst jetzt ziehen. Die Miete schenke ich
dir, aber räume das Haus noch heute.«
»Das ists ja, was ich wollte,« dachte Dscheha. »Auf diese Weise
brauche ich keine Miete zu zahlen.«

411.

E Ines Tages war Si Dscheha bei seiner Mutter zu Hause geblieben.


Da sie nichts zu essen hatten, sagte er zu ihr: »Warte, ich hole
etwas zu essen.«
Er ging zu den Schülern, die er alle beisammen fand, und sagte
zu ihnen: »Kommt, ihr sollt heute bei mir essen.« Er war nämlich ihr
Mitschüler, war aber an diesem Morgen nicht zur Schule gegangen.
Als er ihnen nun sagte: »Kommt heute zu mir essen«, antworteten
sie: »Si Dscheha, du bist arm.«
Er antwortete: »Das ist Brauch bei uns: wenn ein Schüler den
ganzen Koran auswendig kann, muß er seinen Mitschülern zu essen
geben.«
»Gut ists,« sagten sie. »Geh und richte das Mahl her; wir werden
kommen.«
»Steht auf und kommt mit,« sagte Dscheha; »das Mahl ist schon
kalt.«
Sie standen auf und gingen mit ihm. Als sie in seinem Hause
angelangt waren, ließ er sie in eine Kammer treten. Dann nahm er
ihre Schuhe, die sie an der Tür gelassen hatten, und steckte sie in
einen Sack; hierauf ging er zu den Schülern zurück und sagte zu
ihnen: »Wartet ein bißchen; ich komme sofort wieder.« Er ging aber
weg und nahm den Sack mit ihren Schuhen mit; er kam zu einem
Garkoch.
»Gib mir etwas um zwei Franken,« sagte er zu ihm, »und nimm
dafür dies Paar Schuhe.«
Dann ging er zu einem Fleischer und hielt ihm dieselbe Rede,
dann zu dem Kuskussuverkäufer; und als er so alle Schuhe der
Schüler verteilt hatte, ging er, mit köstlichen Mundvorräten beladen,
nach Hause. Sofort nach seiner Heimkehr setzte er alles den
Schülern vor, und sie ließen es sich trefflich schmecken. Dann
erhoben sie sich, um in ihre Schule zu gehn. Als sie ihre Schuhe
suchten, sagte Dscheha zu ihnen: »Kommt mit mir; ich habe sie
versteckt.«
Sie gingen mit ihm. Einen führte er zum Garkoch und sagte zu
ihm: »Gib ihm zwei Franken; er wird dir deine Schuhe geben.« So
zeigte er schließlich allen, wo er ihre Schuhe verpfändet hatte, und
die armen Schüler gaben Geld her, um sie wiederzubekommen. Er
blieb bei seiner Mutter; und von den Speisen hatten sie noch zwei
Tage zu essen.

412.

A Ls sein Vater starb, trug ihn Dscheha auf den Markt und
beerdigte ihn dort; aber einen Fuß des Toten ließ er außerhalb
der Erde. Die Leute sagten zu ihm: »Was, Si Dscheha? du läßt
den Fuß deines Vaters außerhalb der Erde? was ist das für ein
Begräbnis?«
»Nun,« antwortete er, »jedermann weiß, wie er seinen Vater zu
begraben hat. Dieser Platz ist das Grab meines Vaters, nicht wahr?
Wenn ich also auf den Markt komme, werde ich meinen Esel an den
Fuß meines Vaters binden, und niemand wird mir etwas sagen
dürfen.«
Eines Tages ging Dscheha auf den Markt; er band seinen Esel an
den Fuß seines Vaters und ging dann einen Fleischhandel anfangen.
Er kaufte einen magern Ochsen, tötete ihn, deckte ihn ab,
zerstückelte ihn und legte die Fleischstücke auf einen großen Stein.
Alle andern Fleischer töteten fette Tiere. Sie verkauften und gingen
weg; Dscheha blieb zurück. Alle, die bei ihm vorbeikamen, spien aus
und setzten ihren Weg fort.
Als es Abend wurde, war er allein noch da. Die Hunde umgaben
ihn und er sagte zu ihnen: »Wollt ihr es kaufen?«
Sie begannen alle zu knurren. Dscheha wandte sich zu dem
größten im Rudel: »Wenn du für sie bürgst, so verkaufe ich ihnen
meinen Ochsen.« Der Hund knurrte. »Ich weiß,« sagte Dscheha,
»daß du mir für mein Geld gut bist«, und überließ den Hunden das
Feld. Sie fraßen das Fleisch des Ochsen und Dscheha ging.
Am nächsten Markttage kam er wieder und ging sofort zum
Grabe seines Vaters. Er sah, daß dort einer sein Maultier
angebunden hatte; er fragte: »Wer ist das, der sein Maultier hier
angebunden hat?«
Der Herr des Maultiers erhob sich und antwortete: »Ich bins.«
»Was?« sagte Dscheha. »Das ist das Grab meines Vaters. Ich
habe seinen Fuß heraußen gelassen, damit alle Welt weiß, daß der
Platz mein ist; denn man sieht sehr wohl, daß das das Grab meines
Vaters ist, und alle, die herkommen, sollten sich sagen: ›Der Platz
gehört Si Dscheha.‹ Hier hat niemand etwas zu suchen.«
Der Eigentümer des Maultiers sagte zu ihm: »Ich habe nicht
gewußt, Freund, daß das der Fuß deines Vaters ist; ich habe ihn für
ein Stück Holz gehalten.«
Dscheha antwortete: »Von heute an gib acht, nicht wieder hieher
zu kommen.«
Von diesem Tage an wurde der Platz Eigentum Dschehas.

413.

A Ls der Eigentümer des Maultiers und Dscheha auseinander


gegangen waren, begann Dscheha den Hund zu suchen, der die
Bürgschaft für die andern Hunde übernommen hatte. Als er ihn
gefunden hatte, sagte er zu ihm: »Jetzt will ich mein Geld von dir
haben.« Der Hund riß aus, aber Dscheha verfolgte ihn, indem er
sagte: »Die Flucht wird dir nichts nützen.«
Er hatte die Absicht, mit diesen Hunden eine gewisse List ins
Werk zu setzen; er hatte nämlich sagen hören, die Tochter des
Sultans habe seit dem Tage ihrer Geburt weder gelacht, noch
gesprochen, und hatte sagen hören, der Sultan habe gesagt: »Ich
werde meine Tochter dem geben, der sie zum sprechen bringt.«
Dscheha ging einen Strick kaufen, und den knüpfte er an einen
Baum. Dann lief er, um die Hunde zusammenzufangen. Alle, deren
er habhaft werden konnte, band er an diesen Strick; und als er sie
alle angebunden hatte, ging er mit einem Stocke auf sie los, wobei
er in einem fort sagte: »Gebt mir mein Geld.«
Das Haus des Sultans war gegenüber von dem Baume, woran er
die Hunde gebunden hatte, und die Tochter des Sultans betrachtete
das Schauspiel von ihrem Fenster aus. Dscheha verfolgte die Hunde
ununterbrochen; wenn er von der einen Seite her auf sie eindrang,
retteten sie sich auf die andere, und wenn er sie verfolgte, liefen sie
in einer andern Richtung.
Darob begann die Tochter des Sultans zu lachen. Das hörte die
Negerin und ging zum Sultan und sagte: »Herr, meine Gebieterin
lacht.« Hastig lief der Sultan hin, und als er bei seiner Tochter war,
fragte er sie: »Tochter, warum lachst du? Zeit deines Lebens hast du
noch nicht gelacht. Heute hat Gott dein Herz erschlossen.«
»Vater,« antwortete sie, »du siehst, was der Mann dort mit den
Hunden treibt; das ist der einzige Grund, daß ich lache.«
Der Sultan sagte zu seinem Sklaven: »Geh zu dem Manne dort,
der die Hunde gefangen hat, und sag ihm: ›Wohlan, schenke den
Hunden die Freiheit; der Sultan sagt dir: komm.‹« Der Neger ging.
Als er bei Dscheha war, wiederholte er ihm die Worte des Sultans.
»Ich werde sie nicht freilassen,« erklärte Dscheha; »ich habe
ihnen auf dem letzten Markt einen Ochsen verkauft, und heute
haben sie sich geweigert, mich zu bezahlen.«
»Komm doch zum Sultan, Narr, der du bist,« sagte wieder der
Neger. »Er wird dich, so Gott will, reich machen. Er selber hat mir
gesagt: ›Sag ihm, er soll kommen und die Hunde laufen lassen; ich
will ihn bezahlen.‹«
Dscheha ließ die Hunde laufen, sagte aber zu dem Neger:
»Vielleicht hast du mich zum besten, und dann habe ichs.«
Dscheha ging also mit ihm, und als er vor dem Sultan stand,
sagte dieser zu ihm: »Was hast du mit den Hunden gehabt?«
»Am letzten Markte«, antwortete Dscheha, »habe ich ihnen einen
ganzen Ochsen verkauft, und sie haben ihn gefressen. Heute habe
ich zu ihnen gesagt: ›Gebt mir mein Geld.‹ Sie haben sich geweigert.
Dann habe ich sie gefangen.«
»Wie viel forderst du?«
»Zwanzig Duro.«
»Komm,« sagte der Sultan und ließ Dscheha in ein Zimmer
treten. Dscheha sah, daß es voll Gold war.
»Also,« sagte der Herrscher, »nimm dir, was du willst.«
»Das ist es nicht, was ich will,« sagte Dscheha. »Laß mich nur
gehn und meine Schuldner wieder fangen.«
Die Tochter des Sultans war dabei; da sie zu lachen begann,
sagte Dscheha zu ihr: »Du hast recht, dich über mich lustig zu
machen; denn nachdem ich alle beisammen gehabt habe, die mir
Geld schuldig sind, bin ich von euch zum Narren gehalten worden.
Dein Vater hat den Schwur vergessen, den er deinetwegen
geschworen hat. Laß mich jetzt wenigstens gehn, um meine
Widersacher zu verfolgen.«
Da der Sultan gesehn hatte, daß Dscheha ein sehr schmutziger
Mensch war, hatte er nicht vom Anfang an zu ihm sagen wollen:
»Ich gebe dir meine Tochter«; indem aber Dscheha das Wort Schwur
aussprach, rief er dem Sultan die Sache ins Gedächtnis, und nun
sagte dieser: »Wohlan, so heirate meine Tochter.«
»Ich werde sie nicht heiraten,« antwortete Dscheha, und das zu
dem Zwecke, für einen gewichtigen Mann angesehn zu werden.
»Warum willst du sie nicht heiraten?«
»Weil ich, wenn ihr mich auch jetzt sehr schmutzig seht,
immerhin der Sohn eines Sultans bin; gebt acht, daß ihr euch nicht
in mir täuscht.«
»Das ist gerade das,« sagte der Sultan, »was auch mein Wunsch
war; es war mir darum zu tun, daß meine Tochter einen Sultanssohn
und nicht irgendeinen schmutzigen Bauer heirate.«
Er gab ihm seine Tochter und Dscheha heiratete sie. Und der
Sultan sagte zu ihm: »Nun, mein Schwiegersohn, wirst du bei mir
wohnen oder in deinem Hause?«
»Bei dir will ich nicht wohnen,« antwortete Dscheha; »ich habe
ein Haus.«
»Also, da ist deine Frau, nimm sie; nimm auch alles Geld, alle
Kamele, alle Pferde und alle Maultiere, die du willst.«
Dscheha führte seine Frau weg und nahm überdies diese
unendlichen Reichtümer mit.

414.

D Scheha führte also seine Frau heim; aber als sie ankam, gefiel
ihr das Haus gar nicht, weil sie es voller Schmutz fand. »Was?«
sagte sie sich; »dieser Mensch hat mich zum besten gehabt. Er
hat mir gesagt: ›Ich bin ein Sultanssohn, ich bin aus einem großen
Hause‹; jetzt sieht man, wie schlecht es mit seinem Hause bestellt
ist.« Aber sie verschloß diese Gedanken in ihrem Herzen und wollte
sie niemand kundtun.
Es kam das Fest heran, und sie sah Dscheha zur Arbeit gehn,
obwohl alle Welt dem Feste zu Ehren feierte. »Si Dscheha,« sagte
sie zu ihm, »was tust du? alle Welt feiert des Festes halber, und du
gehst arbeiten! Hast du mir nicht seinerzeit gesagt: ›Mein Vater ist
Sultan‹, und wieder: ›Ich habe ein schönes Haus, ich bin aus einem
großen Hause‹?«
»Meine Liebe,« antwortete Dscheha, »es ist wahr, ich habe das
gesagt, und ich habe nicht gelogen; ich will jetzt nur eine kleine
Arbeit verrichten.«
»Kein Mensch verrichtet in der Festzeit eine Arbeit, weder eine
kleine, noch eine große; man arbeitet an den andern Tagen genug.«
»Das ist wahr, meine Liebe. Aber wenn mich die Dorfleute feiern
sehn, feiern sie; sehn sie mich zur Arbeit gehn, gehn auch sie. Ich,
ich bin wohl in der Lage, nichts zu tun; mir wird es an nichts
mangeln. Daß ich öffentlich so tue, geschieht nur, damit nicht die
Kinder des Volkes unaufhörlich im Hunger leben.«
Ein andermal sagte sie zu ihm: »Si Dscheha, wie ist nur das
Kleid, das du trägst, zugeschnitten? warum kleidest du dich nicht wie
die Sultanssöhne?«
»Meine Liebe,« antwortete er, »auf schöne Kleider gebe ich
nichts der Leute halber; sie machen alles, was ich mache: gehe ich
ihnen im Müßiggang voran, so arbeiten sie auch nichts mehr; gebe
ich ihnen ein Beispiel mit schönen Kleidern, so werden auch sie sich,
wenn sie ein paar Groschen haben, solche kaufen, und die ganze
Familie wird Hunger leiden.«
»Wieso ist es möglich gewesen, Si Dscheha, daß du mir gesagt
hast: ›Ich bin Sultan‹? Ich sehe dich doch niemals das Herrscheramt
ausüben. Niemand im Volke nennt dich Sultan oder Sultanssohn. Du
hast mich belogen; du bist sicherlich nichts sonst als ein Bettler und
legst dir die Eigenschaft eines Sultans fälschlich bei.«
»Ich frage dich,« antwortete Dscheha, »was deine Absicht ist.
Hast du die Absicht, hier zu bleiben, so mach nicht die Närrin und
bleib in deinem Hause. Wenn du merkst, daß du den Verstand
verloren hast und meiner vielleicht überdrüssig bist, so geh wieder
heim zu deinem Vater. Ich liebe keine Leute, die sich, obwohl von
geringem Stande, doch besser dünken als die andern. Ich für meine
Person bin der Sultan meiner Brüder, und es ist mir unmöglich,
jemand unrecht zu tun, wer immer es sei.«
»Ich glaube es nicht eher, daß du Sultan bist, als bis du den
Muezzin getötet hast, der mich jeden Morgen so zeitlich früh weckt.«
»Morgen werde ich ihn töten,« sagte Dscheha. »Ich werde dir
seinen Kopf bringen, und du wirst so erkennen, ob ich ein Sultan bin
oder ein Betrüger.«

415.

A M nächsten Morgen ließ Dscheha den Muezzin bis auf die Spitze
des Minarets steigen; dann ging er ihm nach und schlug ihm den
Kopf ab. Den gab er seiner Frau mit den Worten: »Da hast du den
Kopf des Menschen, der dich alle Morgen früh geweckt hat.«
Und sie sagte: »Nun sehe ich, daß du Sultan bist.«
Dscheha ging einen Hammel kaufen, und den kehlte er ab. Den
Kopf des Muezzins warf er in den Brunnen; den Kopf des Hammels,
den er getötet hatte, versteckte er und legte ihn unter eine große
Holzschüssel.
Gegen Mittag begannen die Leute den Muezzin zu suchen,
konnten ihn aber nicht finden. Endlich stiegen sie aufs Minaret, und
dort fanden sie ihn tot mit abgeschlagenem Kopfe. Und sie sagten:
»Wer hat unsern Muezzin getötet?« Einer nahm das Wort und sagte:
»Si Dscheha habe ich heute zeitlich früh hier heraufsteigen sehn; der
hat ihn vielleicht getötet.«
Sie gingen zu Si Dscheha und sagten zu ihm: »Si Dscheha, hast
du den Muezzin getötet?«
»Nein,« antwortete er. »Was hat er mir getan, daß ich ihn hätte
töten sollen? Seht nach, wer mit ihm auf schlechtem Fuße
gestanden ist; der hat ihn auch getötet. Ich war es nicht.«
»Der Mann, der dich hat aufs Minaret steigen sehn, hat gesagt,
du hast ihn getötet. Du belügst uns. Wir wollen dein Haus
durchsuchen, ob wir nicht seinen Kopf finden.«
»Kommt und sucht,« sagte Dscheha.
Sie traten ein und begannen zu suchen; sie stöberten das ganze
Haus durch, fanden aber nichts. Da fiel einem die große
Holzschüssel auf, die verkehrt dalag, und er ging hin, und hob sie
auf; und er fand darunter den Hammelkopf. Nun sagte er zu seinen
Gesellen: »An dieser Stelle, die uns verdächtig war, finde ich einen
Hammelkopf. Es ist also wahrscheinlich, daß es nicht Dscheha war,
der den Muezzin getötet hat.«
Darauf gingen sie alle nach Hause, und Dscheha war gerettet.

416.
D Scheha traf im Walde einen Schakal und zu dem sagte er: »Du
Schakal, wie bist du denn eigentlich geartet? Du tust Tag und
Nacht nichts andres, als im Walde herumzulaufen. Komm, geh
mit mir nach Hause, und wir werden miteinander wohnen; was ich
esse, wirst du essen, und wenn ich nichts tue, wirst du nicht mehr
tun.«
»Gott hat mich erschaffen,« antwortete der Schakal, »damit ich
im Busche herumlaufe, und es ist mir unmöglich, in einem Hause zu
verweilen.«
»Meine Absicht ist,« erwiderte Dscheha, »dir gutes zu tun.«
»Du bist listig,« sagte der Schakal; »aber wenn du eine List hast,
so habe ich ihrer zehn. Darum wird es dir nie gelingen, mich zu
foppen.«
»Mein lieber Freund, ich habe auch nicht eine einzige List; du bist
eben mißtrauisch. Ich will nur, daß du mit mir nach Hause essen und
trinken kommst. Das ist besser, als so durch den Wald zu schweifen,
ausgesetzt den Dörnern, der Kälte und dem Hunger.«
»Ich wiederhole dir,« sagte der Schakal, »daß du ein großer
Schurke bist; ich bin es auch. Wir werden also niemals
zusammenkommen.«
»Und warum nicht?« sagte Dscheha; »sind wir nicht Brüder? Ich
bin von Mitleid für dich bewegt gewesen; sonst hätte ich nicht so mit
dir gesprochen.«
»Ich habe es dir gesagt und ich wiederhole es dir, daß ich nicht
mitgehn werde; sobald du aber darauf bestehst, gut, so gehe ich
mit.«
Der Schakal begleitete also Dscheha. Und als sie dann zu Hause
angelangt waren, sagte er: »Ins Haus gehe ich nicht; ich werde vor
der Tür schlafen.«
»Warum willst du nicht im Hause schlafen?« fragte ihn Dscheha;
»da heraußen ist es ja kalt.«
»Ich will hier bleiben; ich bin an die Kälte gewöhnt. Ins Haus
gehe ich nicht.«
»Meinetwegen,« sagte Dscheha; »bleib also da.«
Der Schakal hielt sich nun gewöhnlich draußen auf und Dscheha
im Hause. Zu Mittag brachte ihm Dscheha das Mittagessen, am
Abende das Nachtmahl. Schließlich mußte aber Dscheha einmal
weggehn, und da gab er seiner Frau folgende Aufträge und sagte zu
ihr: »Gib acht; laß deinen Sohn nicht heraus.« Er wußte, daß man
vor dem Schakal auf der Hut sein mußte. Dann entfernte er sich,
und seine Frau ging ihren gewöhnlichen Beschäftigungen nach. Der
kleine Knabe trat vor die Tür. Als ihn der Schakal sah, stürzte er sich
auf ihn und fraß ihn. Dann leckte er alles Blut auf und ließ nichts
übrig, was ihn hätte verraten können.
Die Mutter des Knaben kam heraus, um ihn zu suchen. Als sie ihn
nicht fand, ging sie zum Schakal und sagte zu ihm: »Hast du
vielleicht mein Kind gefressen?«
»Das ist sehr gut,« sagte der Schakal; »so also steht es? Warum
hat mich denn dein Mann hergebracht? Vielleicht deswegen, damit
ich mich heute über dein Gezeter ärgern soll?«
Dscheha, der in diesem Augenblicke zurückkam, blieb auf der
Straße stehn; als er seine Frau weinen hörte, lief er herbei und
sagte: »Was hast du?«
»Der Schakal, den du hergebracht hast, hat deinen Sohn
gefressen.«
Der Schakal tat, als ob er zornig wäre, und sagte zu Dscheha:
»Ich habe es dir am ersten Tage gesagt: laß mich, ich gehe nicht
her. Dann hast du mich aber gezwungen zu kommen. Jetzt segne
dich Gott! So also handeln Freunde an ihren Freunden? Laß mich
augenblicklich gehn.«
»Bleib nur,« sagte Dscheha, »und mache dir nichts aus den
Reden einer Frau.«
Er ging zu seiner Frau und sagte zu ihr: »Schweig, sage ich dir,
damit er bleibt und nicht geht. Daß er meinen Sohn gefressen hat,
bezweifle ich nicht; vorderhand aber wollen wir ihn dabehalten,
damit ich ihn töte, ihn, der mein Kind gefressen hat.«
Der Schakal erriet alles. Si Dscheha dachte bei sich, daß er auf
den Schakal, nachdem er ihn habe einschlafen lassen, losgehn und
ihn abkehlen werde; aber der Schakal, der voraussah, was ihm
geschehn sollte, ließ seine Wirte einschlafen, sprang über die Mauer
und suchte das Weite.
Si Dscheha und seine Frau standen auf und er ging an den Ort
des Schakals; aber er fand, daß der Schakal nicht mehr da war. Er
kehrte zu seiner Frau zurück und sagte zu ihr: »Du bist schuld
daran, daß er gegangen ist. Hättest du nicht mit ihm gesprochen, so
hätte er sich nicht geflüchtet und wir hätten ihn getötet; nach dem
Auftritte aber, den du ihm gemacht hast, hat er fortgehn müssen.«

417.

A Ls Dscheha alt wurde, ließ sein Gesicht nach, und er sah nicht
mehr so gut wie in seinen jungen Jahren: einst hatte er ein
Rebhuhn oder einen Hasen auf fünfhundert Schritt gesehn und
mit jedem Pfeil, den er abschoß, sein Ziel getroffen; jetzt aber
zitterten seine Hände und er sah nicht mehr so gut. Als seine
Freunde diese Zeichen des Greisenalters bemerkten, machten sie
sich lustig über ihn. Um ihnen nun den Mund zu stopfen, dachte er
sich eine List aus, die wir erzählen wollen.
Er kaufte einen jungen Hund, den er Packan nannte, und richtete
ihn auf jede Jagd ab; und er lehrte ihn alles bringen, was er ihm
angab. Oft versteckte er am Morgen einen toten Hasen im Gebirge;
er zeigte dem Hunde den Ort, wo er ihn hinlegte, und ging mit ihm
zurück nach Hause. Gegen Mittag sagte er dann dem Hunde:
»Such.« Packan lief ins Gebirge und kam im Nu mit dem Hasen im
Maule zurück. Schließlich war der Hund ausgezeichnet abgerichtet.
Dscheha wartete den Tag des großen Festes ab, um die Dorfleute zu
verblüffen.
An diesem Tage legte er am Morgen einen toten Hasen neben
einen Baum, der mehr als fünfhundert Schritt vom Dorfe entfernt
war, und zeigte ihn seinem Hunde. Zu Mittag lud er seine Nachbarn
ein, den Kaffee vor seiner Tür zu nehmen. Es kamen Leute von allen
Seiten, und es war eine große Menge da, als sich Si Dscheha
plötzlich erhob und schrie: »He, Freunde! seht ihr dort unten den
Hasen neben dem Baume?« Alle machte große Augen und blickten
angestrengt hin; da sie nichts sahen, sagten sie zu Dscheha: »Du
bist ein Narr; wieso könntest du denn einen Hasen auf diese
Entfernung sehn?«
»Ich begreife,« antwortete Dscheha, »daß ihr ihn mit euerm
schwachen Gesichte nicht bemerken könnt; aber ich sehe ihn.«
Dann wandte er sich an seine Frau: »Bring mir meinen Bogen und
meine Pfeile. Ich will einmal diesen jungen Leuten zeigen, daß weder
mein Auge, noch mein Arm schwach geworden ist.« Er nahm einen
Pfeil und schoß ihn ins Blaue ab. »Ich habe ihn getroffen!« schrie er.
Und zu seinem Hunde: »Lauf, Packan, und bring den Hasen; heute
Abend wollen wir ihn essen.« Der Hund sprang auf und lief davon.
Einen Augenblick später kam er zurück, im Maule einen
bluttriefenden Hasen.
Alle Welt war verdutzt. Von nun an machte man sich nicht mehr
über Si Dscheha lustig, der das Stückchen noch drei- oder viermal
aufführte. Ausnahmslos waren alle überzeugt, daß Dschehas
Schießfertigkeit und Sehschärfe verblüffend waren. Und von diesem
Tage an ehrte ihn das Volk noch mehr als früher.

418.

D Scheha hatte einen Freund, und das war der einzige Mensch auf
der Welt, zu dem er ein volles Vertrauen hatte; er aß und trank
sehr häufig bei ihm. Allen andern Menschen mißtraute er.
Eines Tages kam nun sein Freund und sagte zu ihm: »Komm mit
mir spazieren gehn.«
»Mein Freund,« antwortete Dscheha, »ich bin nicht frei. Da du
jedoch selber gekommen bist, so lasse ich meine Geschäfte und
begleite dich. Wäre ein anderer zu mir gekommen, und hätte er mir
alle Güter der Erde gegeben, ich hätte ihn nicht begleitet. Da aber
du es bist, so kann ich dich nicht also verabschieden.«
Er ging und begleitete seinen Freund, und der sagte, als sie bei
seinem Hause waren: »Komm mit hinein, Si Dscheha.«
»Mein Freund,« sagte Dscheha, »das sind die Gemächer der
Frauen; zu den Frauen uns zu setzen, schickt sich nicht. Gehn wir
lieber in ein Zimmer, wo wir allein sind.«
Nun hatte dieser Freund für Si Dscheha in den Frauengemächern
eine Grube gegraben; Dscheha wußte davon nichts. Als Dscheha
geantwortet hatte: »Gehn wir zwei ganz allein ins Zimmer,« sagte
der andere zu ihm: »Warum sollen wir uns nicht im Hause
einrichten? es ist leer. Das Zimmer ist klein, und nicht einmal ein
einzelner Mann hätte genug Platz, sich zu setzen.«
»Gut,« sagte Dscheha, »gehn wir, wohin du willst.«
Dieser Freund, auf den Dscheha so viel Vertrauen setzte, hatte
ihn verraten und Geld von Leuten genommen, denen Dscheha
geschadet hatte.
Er führte also Dscheha ins Haus. Dscheha versah sich keineswegs
von diesem Manne, daß er ihn töten würde, da er sein vertrauter
Freund war; darum eben kam ihm der Gedanke nicht, als er ins Haus
trat. Der Freund hatte über die Grube eine Matte gespannt und
darüber noch einen Teppich gebreitet.
Als Dscheha beim Eintritte den Teppich sah, dachte er, das sei
eine Aufmerksamkeit, die ihm sein Freund erweise; er ging vorwärts,
um auf dem Teppich Platz zu nehmen, und fiel in die Grube.
Augenblicklich lief der Verräter zu denen, die ihm Geld gegeben
und zu ihm gesagt hatten: »Du wirst Si Dscheha töten; denn er hat
uns viel geschädigt.« An diesem Tage kam er nun ihnen sagen: »Ich
habe Si Dscheha getötet.«
»Wir gehn mit dir,« sagten sie, »um zu sehn, wie du ihn getötet
hast.« Und sie gingen mit ihm.
Im Hause angelangt, beugten sie sich über die Grube und sahen
auf ihrem Grunde Si Dscheha. »Si Dscheha,« sagten sie zu ihm,
»hast du es nun satt, alles nur nach deinem Kopfe machen zu
wollen? Jetzt, nicht wahr, wirst du uns keinen Schaden mehr
zufügen.«
»Wahrhaftig,« sagte Dscheha, »ihr seid es nicht, die meinen
Untergang herbeigeführt haben; mein Freund ist es, mit dem ich oft
Brot und Salz gegessen habe; sooft er mit mir aß, sooft aß ich mit
ihm. Bis jetzt habe ich ihm nie etwas böses getan; er hat es mir
zuerst getan, Gott Lob!«
Die Männer kehrten sich zu dem, der ihn also in die Grube
gestürzt hatte, und sagten zu ihm: »Er ist nicht tot. Es ist möglich,
daß er wieder herauskommt. Ist er nicht der schlaueste von allen
Menschen? Er wird die Wände untergraben, bis so viel Erde
herunterfällt, daß er heraufkommen kann; dann wird er uns alle
töten, dich so wie uns.«
»Da ist eine Flinte,« sagte der Mann; »einer von euch soll auf ihn
schießen.« Er gab ihnen die Flinte.
Der eine trat vor, um zu schießen, aber Si Dscheha stieß einen
mächtigen Schrei wider ihn aus. Von Schrecken gepackt, fiel der
Mann zu Dscheha in die Grube und fiel sich zu Tode. Die Flinte ging
von selber los und die Kugel durchbohrte Si Dscheha.
Der Freund dessen, der, als er auf Dscheha feuern wollte, in die
Grube gefallen war, sagte nun zu dem Manne, der Dscheha
hinuntergestürzt hatte: »Dscheha, ists nicht wahr, hat einen Streich
geführt und den einen von uns getroffen.«7
Der Verräter blieb daheim und der andere ging nach Hause; Si
Dscheha und sein Gesell lagen beide tot auf dem Grunde der Grube.
IV.

Maltesische Überlieferungen

419.

A Ls die Mutter Dschahans eines Tages krank war, befahl ihm der
Arzt, etwas Urin von ihr aufzuheben; am nächsten Tage werde er
kommen und den Urin untersuchen. Der Arzt kam auch, und
Dschahan beeilte sich, ihm das Gefäß zu zeigen. Der Arzt wunderte
sich, es bis zum Rande voll zu finden, aber Dschahan erklärte ihm
die Sache, indem er sagte: »Meiner ist auch dabei; der meinige ist
oben.«

420.

D Schahan war einmal mit einer Henne in der Hand auf dem Wege
zu seinem Herrn, um sie ihm zu schenken; aber etliche Räuber
rissen sie ihm aus der Hand und entflohen. Dschahan nahm sich
vor, sich zu rächen. Nachdem er den Ort, wo sie wohnten, ausfindig
gemacht hatte, ging er, als Mädchen verkleidet, hin, und es gelang
ihm, in ihrem Hause als Magd Aufnahme zu finden.
Als nun die Räuber eines Tages ausgegangen waren, stieg er auf
das flache Dach, stellte dort eine Strohpuppe auf, die ihm ähnlich
war, bestrich die Stufen der Stiege, die zum Dache führte, bis
hinunter mit Seife, belud sich mit einer Menge kostbarer Dinge, die
die Räuber besaßen, verließ das Haus, schloß die Tür ab und lief
heim.
Nachdem die Räuber bei ihrer Rückkehr vergebens gerufen
hatten, daß ihnen geöffnet werden solle, traten sie die Tür ein und
stürzten blindlings die Stiege hinauf, entschlossen, sich an der
frechen Dirne zu rächen, die noch immer auf dem Dache stand, als
ob sie sich über sie lustig machen wollte; aber sie glitten allesamt
aus und fielen einer auf den andern, und so war die Rache
Dschahans erfüllt.8

421.

E S war einmal ein Junge, der Dschahan hieß, und der sagte zu
seiner Mutter: »Gib mir einen Centime.« Sie antwortete:
»Wozu?« »Damit ich mir Bohnen kaufe.« »Bohnen haben
Schalen.« »Dann werde ich mir Nüsse kaufen.« »Die haben auch
Schalen.« »Dann werde ich mir Erbsen kaufen.« »Gut,« sagte die
Mutter und gab ihrem Dschahan drei Centimes; und er ging hin und
kaufte sich Erbsen.
Nun aß er darauf los, bis er nur noch eine Erbse hatte. Diese gab
er, da er noch keine Messe gehört hatte, einer Frau und bat sie:
»Heb sie mir auf; ich will zur Messe gehn.« Die Frau antwortete:
»Leg sie nur auf den Sims.« Aber ein Huhn fraß die Erbse, und als
Dschahan zurückkam und sagte: »Ich komme um die Erbse«,
antwortete die Frau: »Deine Erbse hat die Henne gefressen.« Da
begann Dschahan zu schreien: »Entweder die Erbse oder die
Henne!« Und die Frau sagte: »Nimm die Henne«, und gab sie ihm.
Wieder hörte Dschahan zur Messe läuten; er sah eine alte
Großmutter, die spann, und zu der sagte er: »Großmutter, erlaube,
daß ich die Henne dalasse; ich werde sie bald wieder abholen.« Als
dann die Messe zu Ende war, wollte er sie abholen, aber die Frau
sagte zu ihm: »Geh dorthin zu den Truthühnern; dort ist sie.«
Dschahan schrie: »Aber sie ist ja tot! Die Truthenne hat sie getötet!«
Und weiter schrie er: »Entweder die Henne oder die Truthenne!« Da
gab ihm die alte Frau die Truthenne.
Wieder hörte Dschahan zur Messe läuten; er sah unter einer
Haustür eine Frau, und zu der sagte er: »Darf ich die Truthenne
dalassen?« Die Frau antwortete: »Geh und laß sie bei den
Schweinen.« Als er dann von der Messe zurückkam, wollte er die
Truthenne wieder haben, aber die Frau sagte zu ihm: »Die Sau hat
sie dir getötet.« Da begann er zu schreien: »Mir ist alles einerlei!
entweder die Truthenne oder die Sau!« Und die Frau gab ihm die
Sau.
Wieder hörte Dschahan zur Messe läuten, und als er eine Frau
unter ihrer Haustür sah, sagte er zu ihr: »Darf ich die Sau für einen
Augenblick dalassen?« Die Frau sagte: »Steck sie zur Stute.« Als er
dann von der Messe zurückkam und zu der Frau sagte: »Gib mir
meine Sau«, antwortete sie ihm: »Die hat die Stute getötet.« Da
sagte Dschahan: »Das ist mir einerlei! entweder die Sau oder die
Stute!« Und die Frau sagte zu ihm: »Nimm dir die Stute.«
Dschahan ging zu einer andern Frau und bat sie: »Laß mich die
Stute dalassen.« Die Frau sagte: »Ja; laß sie da.« Nun mistete die
Stute auf den Boden; die Frau hatte aber eine junge Tochter und die
sagte zu ihr: »Was hast du denn da hereingebracht?«, und begann
mit ihr zu zanken, weil sie den Boden eben gewaschen hatte. Und da
sie ihn so beschmutzt sah, nahm sie eine Stange und begann die
Stute zu prügeln, bis sie tot war. Da kam Dschahan um seine Stute
und fragte: »Wo ist sie?« Die Frau antwortete: »Das Mädchen hat
sie getötet.« Und die Frau schenkte ihm die Tochter und Dschahan
steckte sie in einen Sack und ging damit weg.
Wieder hörte er zur Messe läuten; er sah eine alte Großmutter
und zu der sagte er: »Erlaube mir, daß ich den Sack für ein wenig
dalasse.« Die Alte antwortete: »Leg ihn auf den Sims da«, und
Dschahan legte ihn hin. Da aber die Alte sah, daß sich der Sack
bewegte, öffnete sie ihn; und sie fand das Mädchen darinnen. Sie
nahm es und versteckte es, und den Sack füllte sie mit Scherben.
Und damit ist die Geschichte aus.

422.

D Schahan wollte einmal Matrose werden; darum ging er auf ein


Schiff. Der Kapitän sprach zu ihm: »Dschahan, was kannst du
leisten?« »Herr Kapitän, ich kann von unten nach oben steigen
und von oben nach unten.« Da sagte der Kapitän: »Gut; klettere den
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like