Farcry 4 : Google Maps library.

I've been playing with Farcry 4 code name Gonzales since November last year and its now coming along with leaps and bounds. The form tools are a joy to behold! Creating custom data types is now an utter delight! All you have to do is run set up your properties, deploy the type, scaffold the admin and you're all set to use your new type! But I digress! This is something I'll have to write about another day.

One of the other new features of Farcry 4 is libraries. A lot of the CMSs you see out there, postnuke, e107, mambo etc. all have the ability to plug in new modules developed by the swathes of unwashed php developers out there. ;oD Farcry has always had this ability through custom types, but in FC3 its all a bit embroiled in the specific project or the core code. The new library functionality makes it much easier to create discrete applications that can be easily plugged into Farcry.At the minute, there are only a couple of libraries officially available. There's the farcrycms library, which provides the news, events, links and facts content items that are available in FC3. There is a farcrycfximage library, that overrides the built in Java image manipulation stuff (currently based around the imageJ cfc) and, lastly, there's a googlemaps library.

Daemon's Michael Sharman put together two custom types, googleMap and googleMapLocation.

The googleMapLocations type allows you to add locations using geocoding or specific lat/long figures along with a description that will be displayed in an info box and you can specify a icon from the image library that will be used for that location.

The googleMap type allows you to set up the controls for your map; the height and width of the map, will the map type control be displayed (Map/Hybrid/Sat), the zoom level at which your map will start being displayed, what if any map controls will be available and whether the map overview will be displayed.

Lastly, when you're editing your map record, there is an "open library" button. Clicking on this will open a window that allows you to drag and drop locations you previously entered or add a new location. When you've selected or added all your locations and returned to the editor you'll find a these locations. The top item in this list will be the centre point of your map. You can drag any of your locations to the top of the list courtesy of the joys of AJAX.

The library has a couple of webskins for maps, one of those is the actual display of the Map (displayMap) and the other is a standard display page for the map (displayPageStandard), but there is also a rule, so you can either add the map to your navigation using the standard page or use the rule to include the map in a container on a page.

A quick note about the icons, and a little brag: I added the icon selection to the library, which I was quite pleased about, but I've just been having a chat with Geoff Bowers. Its looking like another type will be added to the library. This will be a googleMapIcon type. This will allow you to set up a library of icons, including their shadows, anchor points and other icon properties, which you will be able to assign to a map location.

If you want to see the maps in action, Geoff has one on the WebDU site and my colleague Claire has put one together for the Dott Projects with another soon to come that will show all the schools taking part in the ECO Design Challenge.

Also Geoff has just posted a blog entry and a video showing just how easy it is to set up and use the google maps library.

Nice one Steve, and thanks for all your help. It's great people are out there keeping an eye on things and trying out new releases almost on the night they're committed!

Excellent :)
# Posted By Michael Sharman | 3/13/08 9:39 PM
Oh nice! I had just been using jQuery and the google maps plugin (and the geo microformat) and a hacked up include in my FarCry site to implement google maps, but it looks like I'll be using this library as soon as 4.0 is released (cough!) and as soon as we can upgrade.

P.S. Very nice work there Michael!
# Posted By Justin Carter | 3/13/08 9:39 PM