Beginning Google Maps Applications with Rails and Ajax - From Novice to Professional

von: Andre Lewis, Cameron Turner, Jeffrey Sambells, Michael Purvis

Apress, 2007

ISBN: 9781430203803 , 365 Seiten

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 32,09 EUR

Mehr zum Inhalt

Beginning Google Maps Applications with Rails and Ajax - From Novice to Professional


 

Contents at a Glance

4

Contents

5

About the Authors

14

About the Technical Reviewer

16

Your First Google Maps

17

Google Maps and Rails

18

KML: Your First Map

19

Wayfaring: Your Second Map

20

Got Rails?

25

What’s Next?

26

Getting Started

28

On JavaScript, Helpers, and Plug- ins

28

Creating Your Rails Application

29

The First Map

29

Basic User Interaction

38

A List of Points

43

Summary

47

Interacting with the User and the Server

48

Adding Interactivity

48

Going on a Treasure Hunt

49

Reviewing Application Structure

50

Building on Your Application

51

Creating the Map and Marking Points

53

Listening to User Events

54

Asking for More Information with an Info Window

57

Implementing Ajax

67

Retrieving Markers from the Server

74

Adding Some Flair

77

Ajax with Prototype

80

Summary

82

Geocoding Addresses

83

Preparing the Address Data

83

Using Geocoding Web Services

87

Persisting Lookups

106

Building a Store Location Map

107

Summary

110

Beyond the Basics

111

Manipulating Third-Party Data

112

Using Downloadable Text Files

112

Screen Scraping

128

Summary

134

Improving the User Interface

135

CSS: A Touch of Style

136

Scripted Style

145

Data Point Filtering

153

RJS and Draggable Toolbars

156

Summary

157

Optimizing and Scaling for Large Data Sets

158

Understanding the Limitations

158

Streamlining Server- Client Communications

159

Optimizing Server- Side Processing

161

Optimizing the Client- Side User Experience

193

Summary

205

What’s Next for the Google Maps API?

207

Driving Directions

207

Integrated Google Services

208

KML Data

210

More Data Layers

210

Beyond the Enterprise

212

Interface Improvements

212

Summary

214

Advanced Map Features and Methods

215

Advanced Tips and Tricks

216

Debugging Maps

216

Interacting with the Map from the API

217

Creating Map Objects with GOverlay

221

Creating Custom Controls

227

Adding Tabs to Info Windows

230

Creating a Custom Info Window

233

Implementing Your Own Map Type, Tiles, and Projection

244

Summary

267

Lines, Lengths, and Areas

269

Starting Flat

269

Moving to Spheres

274

Working with Polylines

282

What About UTM Coordinates?

290

Running Afoul of the Date Line

292

Summary

293

Advanced Geocoding Topics

294

Where Does the Data Come From?

294

Geocoding Based on Postal Codes

299

Using the TIGER/ Line Data

303

Summary

319

Appendixes

320

Finding the Data You Want

321

Knowing What to Look For: Search Tips

321

The Cat Came Back: Revisiting the TIGER/ Line

322

Airports in TIGER/ Line

324

The Government Standard: The GeoNames Data

325

Shake, Rattle, and Roll: The NOAA Goldmine

325

For the Space Aficionado in You

327

Google Maps API

329

class GMap2

329

class GMapOptions

335

enum GMapPane

336

class GKeyboardHandler

336

interface GOverlay

337

class GInfoWindow

338

class GInfoWindowTab

339

class GInfoWindowOptions

339

class GMarker

339

class GMarkerOptions

341

class GPolyline

342

class GIcon

343

class GPoint

344

class GSize

344

class GBounds

345

class GLatLng

346

class GLatLngBounds

347

interface GControl

347

class GControl

348

class GControlPosition

348

enum GControlAnchor

349

class GMapType

349

class GMapTypeOptions

350

interface GTileLayer

351

class GCopyrightCollection

352

class GCopyright

352

interface GProjection

353

class GMercatorProjection

354

namespace GEvent

354

class GEventListener

355

namespace GXmlHttp

356

namespace GXml

356

class GXslt

356

namespace GLog

356

class GDraggableObject

357

enum GGeoStatusCode

358

enum GGeoAddressAccuracy

358

class GClientGeocoder

358

class GGeocodeCache

359

class GFactualGeocodeCache

360

class GMarkerManager

360

class GMarkerManagerOptions

361

Functions

361

Index

362