My First Book is available: Google Maps JavaScript API CookBook

January 17th, 2014
Comments Off

I’ve been quite busy for a long time due to projects and I couldn’t find any time to write to blog about what’s going on my life. But this time, instead of writing to blog, I wrote a book on Google Maps JavaScript API v3. Last year, Packt Publishing contact me to write a book on Google Maps JavaScript API. After a few discussion, We (I and with my collegue, Balkan Uraz) decided to write this book. In this book, we didn’t add “V3″ to end of API, beacuse “V2″ is already deprecated and there is only one valid JavaScript API for now. Anyway, you can buy the book from the following addresses :

Packt Pub |  Amazon |  Barnes & Noble  |  Safari Books  |  O’Reilly

This book is written in a CookBook concept that includes more than 50 recipes. Recipes includes the full code for the subject given with related explanations. Even it is a cookbook, it also includes details about the usage of Google Maps JavaScript API in different conditions. Book includes 8 chapters which are given as follows:

Chapter 1: Google Maps JavaScript API Basics
Chapter 2: Adding Raster Layers
Chapter 3: Adding Vector Layers
Chapter 4: Working with Controls
Chapter 5: Understanding Google Maps JavaScript API Events
Chapter 6: Google Maps JavaScript Libraries
Chapter 7: Working with Services
Chapter 8: Mastering the Google Maps JavaScript API through Advanced Recipes

As it is seen from the chapter list, Google Maps JavaScript API Cookbook is for developers who wish to learn how to do anything from adding a simple embedded map to a website to developing complex GIS applications with the Google Maps JavaScript API. It is targeted at JavaScript developers who know how to get by but who are also seeking the immediacy of recipe-based advice.

If we go over the chapters;

  • Chapter 1 is about the basics of Google Maps JavaScript API. You can learn how to create a simple map both on web and mobile platforms, how to change map properties and how to change the base maps.
  • Chapter 2 is about adding raster layers to Google Maps JavaScript API. You can add styled maps, tile sources as base maps or overlays, heat maps and other Google’s overlays.
  • Chapter 3 is about adding vector layers to Google Maps JavaScript API. You can add markers, lines, polygons, circles, rectangles and popups to maps. Also there is a recipe about animated lines that will spice your maps. There is also recipes about some popular vector formats in GIS like KML, GeoRSS, GeoJSON and WKT.
  • Chapter 4 is about working with controls. With the help of this chapter, you can add different controls to your map in order to interact with the user. There are also a recipe to add your own logo the map.
  • Chapter 5 is about events in API. Events concept is very important in JavaScript due to its async structure. With the help of events, you can create different types of interactions to power up your geo web applications. For example, you can create two maps with different base maps side by side to compare the difference. Also you can learn how to create your own type of events.
  • Chapter 6 is about the JavaScript libraries that enhances the Google Maps JavaScript API. These libraries are both from Google and community to add extra capabilities to API like drawing shapes, area/length calculations, custom popups/info boxes or drag zoom controls.
  • Chapter 7 is about working with Google services. With the help of this chapter, you can do geocoding, reverse geocoding, getting elevation, getting directions or showing Street Views on the map.
  • Chapter 8 is the most advanced chapter of the book. It is about integration of GIS Servers/Services with Google Maps JavaScript API. In this chapter, you can find recipes on adding WMS layers (both as tiled and untiled), Fusion Tables layers, CartoDB layers, ArcGIS Server Layers. You can also find how to add WMS layers with your own GeoServer instance.

As it is seen from the chapter details, this book can be useful for all developers interested in geo web subjects. Also this can be a useful resource for mobile developers using hybrid development techniques (such as PhoneGap) to add geo features to their mobile apps.

Before writing this book, I thought writing a book is an easy process, but I’ve learn that writing a book is not an easy task especially for developers :) Because most developers like me loves coding and hates the documentation.

My final words are like other authors’ words :) Especially, I want to thank my wife during the write process. I can’t make this without her patience and love. I also want to thank our editors, people helped us at Packt Publishing and reviewers that make our book better.

Hope you can like the book and please let us know if there are any mistakes, problems or suggestions about the book.

GeoWeb ,

2nd Book Review – Interactive Map designs with Leaflet JS Library How-to

July 23rd, 2013
Comments Off

Again, it has been a long time since my last post. I’ve been quite busy with different projects so I can’t find any time to write on the blog. If you are wondering about my projects then you should wait for it :) But I can give you a spoiler about one project : I’m also writing a book about Geo Stuff ;)

Anyway, last week Packt Publishing contact me about a book review and I’ll accept it due to its length. It is shorter than a book and it can be called as a starting guide. These series are Packt Publishing’s new series which are  publishing as an e-book or print. As it is stated in the book, the series are “Short, Fast and Focused”.

The book is written by Jonathan Derrough, who is also minor contributor to Leaflet library.

The book is composed of 52 pages and 7 small how-to chapters. You can access contents below :

  • Getting started with Leaflet (Simple)
  • Using Leaflet on mobile (Simple)
  • Creating markers with popups and handling events (Intermediate)
  • Creating layers and layer groups (Intermediate)
  • Using Leaflet map controls (Intermediate)
  • Using GeoJSON to create stylish map objects (Intermediate)
  • Designing interactive choropleth maps (Advanced)

As it is seen from the contents, book is for everyone in geo development. There are different topics according to their levels. Each chapter is complete within itself. You can easily learn what’s going on and what’s behind the code when you are reading.

If you want to dive in geo development with Leaflet and don’t want to read hundred pages books, this book is for you. It just makes a good start with its background.

As I wrote on previous book review, please buy the book to support writer instead of downloading the illegal copies. This will courage more people to write this kind of books to support Open Source projects like Leaflet.

PS : You can get book from these sellers :

Amazon.com
DZone
Goodreads

GeoWeb , ,

1st Book Review : OpenLayers Cookbook

October 5th, 2012
Comments Off

I know I haven’t been writing for a long time even I want to and hope that this post will start a new habit for me to write regular. This is my first book review so please be kind about judging my post :)

Anyway, lets start the review :

As far as I know, “OpenLayers Cookbook” is the second book directly related to OpenLayers framework written by Antonia Santiago Perez. “Packt Publishing” released the book like the first OpenLayers Book. As the name implies that this book is more than a teaching book. There are 60 recipes about the OpenLayers in 8 main chapters. These chapters are as follows :

  1. Web Mapping Basics
  2. Adding Raster Layers
  3. Working with Vector Layers
  4. Working with Events
  5. Adding Controls
  6. Theming
  7. Styling Features
  8. Beyond the Basics

Even there are some basic concepts, the advanced concepts are dominant in the book. If you are not familiar with OpenLayers and core GIS concepts like layers (WMS, KML, GML), I suggest you should first read the first book named, “OpenLayers 2.10 Beginner’s Guide”, otherwise you can dive into the book. The recipes in the book are directly related to business cases which you have to solve in your work days. Some recipes can be a life saver if your customer/boss wants different action in your web mapping apps.

The following recipes are the most liked ones by myself :

  • Using the cluster strategy
  • Creating a side-by-side map comparator
  • Implementing a work in progress indicator for map layers
  • Listening for non-OpenLayers events
  • Creating a new OpenLayers theme
  • Defining custom rules to style features
  • Working with projections
  • Creating a custom control
  • Making an animation with image layers

I’m working with different mapping frameworks/APIs like Google Maps JS API, Bing Maps API, Leaflet, MapBox JS and OpenLayers in different conditions The most powerful and detailed framework is OpenLayers and this book is a good resource if you want to learn this powerful framework in details.

Please buy the book to support writer instead of downloading the illegal copies. This will courage more people to write this kind of books to support Open Source projects like OpenLayers.

PS : There is also another review for the book from GeoWebGuru.

OpenLayers

After a long period and Geo Products I Used in 2011

January 4th, 2012
Comments Off

It has been a very long time (almost a year) since I wrote a blog post.

It was a great year both in private and work life. First off all, I got married and this is the greatest thing in my life. It was a busy period to do a wedding ceremony but it was worth it. I would like to thank God from here to join me and my wife together :)

Anyway, lets come to main topic which interests this blog : my work life. It was also a good year for my development side.

My development side started to move back to Open Source projects again after an “ESRI” period. Don’t get me understand wrong, ESRI has a great products both on desktop and server side and we are still using ESRI products in our environment, but the license costs are getting more and more even for large organisations like us.

There is also a Google Maps side for this story. I’ve been using Google Maps since it has an API and I’m also a “Qualified Developer for Google Maps JS API”, but the announcement of Google that Google Maps is no more free makes us to think about like other developers or companies. Google Maps has still good map coverage than Bing Maps or OSM, but we had to start looking for the alternatives. We are still using Google Maps JS APIs in our products, but we are thinking more than ever to shift from the API.

Last part of my development life is the Mobile. Mobile is getting more important and we don’t want to get behind from the technology. Most of our managers got an iPad and we started to build apps for mobile, especially for iOS. Some of them may be remember that I have one native and one web app for mobile, which are iExtMap and ExtMap Touch, respectively. I know some people expect to update these products, but I can’t find any time to update them. Hope I can find time this year to update them :)

I wrote a summary about 2011 and I just want to finish my post with the popular geo products I’ve used in 2011. I’ll also write about them if I find time.

Wish you all a good year ;)

Geo Products I used in 2011
Desktop :
- ESRI ArcMap (I can’t remember the new name) with Arc2Earth pluging :
Still great at working and symbolizing the data. Arc2Earth is a also a great product to export tiles and GeoJson to our web products.
- QGIS :
Works great with PostGIS to import/export data

Server Side :
- Oracle Spatial (as DB) :
Nothing to say about it, it’s still the best option in Enterprise level in Turkey due to support
- PostGIS (as DB) :
It is my new favorite to work with easily, but the support in Turkey is not good. So we have confusion to switch over in enterprise level.
- ArcGIS Server :
It is the complete product that you can do everything, but licensing is very expensive in Turkey if you want to make a load-balances structure with 6-10 machines.
- Tilemill (can be in desktop side too) :
This is my new favorite tool used for export tiles due to its UTFGrid support. MBTiles is also a great spec from DevelopmentSeed. Thanks a lot for these GREAT TOOLS, hope 2012 will be a great year for you.

API Side :
- Google Maps JS API v3 :
Still the king of APIs due to its easy use and documentation. Integration with Fusion Tables is a great plus the API.
- Leaflet :
This is also my new favorite with TileMill. The compactness and performance is killing me. I would also want to thank CloudMade to make this available.
- OpenLayers :
This was my old favorite. It has support for almost any thing in GIS but this also make it very slow library if you compare it with Google Maps API or Leaflet.
- ESRI JS API :
I’m very new to this API, but I have to be familiar with it :) One thing is annoying that the usage of DOJO Toolkit with the API.

GeoWeb , , , , , , , ,

Google Maps JS Library support : geometry

January 6th, 2011
Comments Off

Yesterday, there was an announcement about new supporting library for Google Maps JS API v3, which is Geometry Library.

For almost a year, I have been looking for switching from V2 to v3 and there is one missing point for enterprise level which is geometry support. With geometry support, ExtMap written in v2 will be completely convertible to v3.

The library will not be added by default, you should add some parameters to script loading url (libraries=geometry). This is also a good option to keep file size less for normal users.

This announcement also a good clue for more libraries will come to Google Maps API in 2011.

Wish you a year with more geo news :)

ExtMap, GeoWeb , , ,

New year wishes…

December 31st, 2010
Comments Off

It has been a great year for me and it is closing tonight :D

I have been busy for a new project and I couldn’t find any time to write on blog but I hope it will worth for it.

Anyway, I want to say to all of you :  Happy new year and I wish all of your wishes come true ;)

personal ,

Spatial Queries come to Google Fusion Tables

November 12th, 2010
Comments Off

Google announced that Maps Data API will be closed next year and they offer a cool replacement : Fusion Tables

Fusion Tables have support for spatial entities but there was a luck of spatial function until yesterday. They announced spatial queries are supported at Fusion Tables.

As far as I see, there are two new functions which are ST_INTERSECTS and ST_DISTANCE. This is a good news that developers can use Fusion Tables instead of Spatial Databases at some point.

Hope they will add more spatial functions to Fusion Tables.

GeoWeb , , ,

ExtMap Touch, New Mobile Geo Framework

October 26th, 2010
Comments Off

It has been a long time since I wrote a blog entry. I’m quite busy during this period working on different stuff, but the most important one is my new mobile geo framework : “ExtMap Touch”.

I’m quite interested in mobile development for a while and I have 4 iPhone app on App Store. One of them is iExtMap, which is a mobile GIS viewer. iExtMap shows ArcGIS Server Services, WMS, KML/GeoRSS and Tile Services, but the platform is available only for iOS devices which is not good.

Writing a multi-platform viewer is also quite hard due to different code bases on different platforms. Mobile Web is developing very fast due to usage of WebKit on different platforms. Today;  iOS, Android, WebOS, Bada, BlackBerry, Symbian and other platforms are using WebKit implementations on their browsers and this lead to a dream of web developer : “One browser to rule them all” :D

Anyway, I have the idea to write a mobile version of ExtMap, but there is a need for a motivation to start the project. The motivation was “Sencha Touch Developer Contest” and “Sencha Touch Framework” and I started working “ExtMap Touch” on Sencha Touch Framework and Google Maps JavaScript API v3.

I started the project on October 8th, 2010 and finished on October 26th, 2010. The time reminded me the period working on Extmap Summit, which is quite busy and fun :) This project is also a good practice to learn Sencha Touch with HTML5 new features. I want to use almost all features of Sencha Touch and HTML5.

As I told before, project is now working on iOS devices, Chrome and Safari, but it will be working on other mobile browsers when Sencha Touch will be released in stable. It consumes ArcGIS Server Services, WMS, KML/GeoRSS and Tile Services.

There are 4 different base maps, which are

  • Google Maps
  • Bing Maps
  • Open Street Maps
  • Blank (for your own imagery)

There are different tools integrated into project, which are

  • Add Data on the fly
  • GeoLocation (gets your current location via GPS or etc.)
  • Zoom In/Out
  • Identify of ArcGIS Server Services
  • Add/View Bookmarks
  • Show Lat-Lng and Elevation
  • Go to Lat-Lng
  • Geocoding-Reverse Geocoding

All layers and bookmarks are saved on users browser via Web SQL (HTML5 feature) that users can save their data like using native applications.

Another great feature of the application is storing users’ last position (lat-lng-zoom) with map types and opened layers. When user come back to application, he/she can continue working from wherever he/she left from. This information is also stored in Local Storage feature of HTML5.

The base map changes are done via CSS transitions which is quite different than previous ones.

There is only one feature of HTML5 left in my mind, which is Web Cache. I implemented it, but there is a problem with both Google Maps API and ESRI JS API so I decided to add later.

You can view the app or watch the video from the addresses below.

Thats all about the app, hope you like it and wish me a luck in the contest :D

Live Demo : www.extmap.com/touch

Web Url : www.extmap.com

GeoWeb , , , , ,

iExtMap for iOS

August 24th, 2010
Comments Off

I have been quite busy with several projects and I can’t find time to write on my blog.

I have been working on a project to show different GIS services (incl. ArcGIS server, WMS and KML/GeoRSS) on iOS devices, especially on IPhone, which is named iExtMap.

iExtMap is a mobile GIS viewer for iOS (IPhone, IPod and IPad). It is a hybrid application, map part is based on Google Maps JS API v3 and other parts are native. This hybrid structure saves a lot of time during development phase. This first version is just a viewer, but I’ll add more features like identify or query in next releases.

There is also a new web site both for iExtMap and ExtMap Framework, which is www.extmap.com

iExtMap is a free application downloadable from App Store for now and I want this remains same if I’ll find sponsors or advertisers for iExtMap. If you or your company is interested in iExtMap, please do not hesitate to contact me via alper [(at)] mekansal (dot) com

iExtMap App Store link for ITunes : http://itunes.apple.com/us/app/iextmap/id386589406?mt=8

Some reviews or news about iExtMap : (thanks everyone for reviewing, but James need a special thanks :) )

James Fee GIS Blog

All Point Blogs

SlashGeo

The Map Room

Some ScreenShots : (More can be seen at http://www.extmap.com/index.php?pid=5)

ExtMap, iOS , , , , ,

Welcome Sencha…

June 28th, 2010
Comments Off

On June 14, there is an announcement about the new formation named Sencha. Sencha is a combination of Ext JS + jQTouch + Raphaël and Extjs.com becomes www.sencha.com

After the announcement of new formation, they explode the bomb : Sencha Touch : The First HTML5 Mobile App Framework. They prepare a good mobile javascript framework for IPhone, IPad and Android devices.

I reviewed the framework. At a glance, it seems superb even it’s in beta phase, but there are problems using with Google Maps JS API V3. There is a annoying behaviour when using map in tabs. I’m sure this kind of problems will be solved in the future and Sencha Touch will become a major mobile framework :)

GeoWeb