Well, you folks really come through every time! It's going to take a bit to
go through all this but it sure gets me off the ground.

Thanks so much to you all.

Dave

-----Original Message-----
From: Jon Clausen [mailto:jon_clau...@silowebworks.com] 
Sent: Tuesday, December 3, 2013 4:49 PM
To: cf-talk
Subject: Re: Creating maps with CF


I developed an app a few years back that made pretty extensive use of custom
data mapping for points and areas.  I found the cleanest way to deal with
loading the data was through AJAX calls to an API, while developing your
javascript libraries independently.  Otherwise, you end up bringing a whole
bunch of inline JS in to your views and couple them too tightly with the map
API.  

Once you set up your API to deliver XML or JSON, you can use the standard
Google Maps API methods to add the points, map boundaries, etc like so.  I
used a spatial database and then converted the point and geometry values to
lat/lon floats.  Note that the JS below uses XML, is missing some of the
custom marker variables which were set earlier in the JS library.  It was
also written for an earlier version of the API.

HTH,
Jon
-----------------------------------------------------
<script type="text/javascript">
// ===== Start with an empty GLatLngBounds object =====     
var bounds = new GLatLngBounds();
      
      // getXML
      var request = GXmlHttp.create();
      request.open("GET", api_xml, true);
      request.onreadystatechange = function() {
      //If we have loaded the XML
        if (request.readyState == 4) {
        //Kill our loading message and show the notes again
 
$("#load-msg").slideUp("fast",function(){$("#load-msg").remove();$(".note").
slideDown("normal");});
          var xmlDoc = request.responseXML;
          // obtain the array of markers and loop through it
          var markers = xmlDoc.documentElement.getElementsByTagName("wpt");
          
          for (var i = 0; i < markers.length; i++) {
            // obtain the attribues of each marker
            var actMarker = markers[i];
            var lat = parseFloat(actMarker.getAttribute("lat"));
            var lng = parseFloat(actMarker.getAttribute("lon"));
            var point = new GLatLng(lat,lng);
            var html =
GXml.value(actMarker.getElementsByTagName("desc")[0]);
            var label =
GXml.value(actMarker.getElementsByTagName("name")[0]);
            var link = "<a class=\"detail-link\"
href=\""+GXml.value(actMarker.getElementsByTagName("link")[0])+"\">View
Detail</a>";
            var append = "<ul class=\"geo\"><li class=\"lat\">Latitude:<abbr
title=\""+lat+"\" class=\"latitude\">"+lat+"</abbr></li><li
class=\"lon\">Longitude:<abbr title=\""+lng+"\"
class=\"longitude\">"+lng+"</abbr></li></ul>";
            html = "<p class=\"gmap-label\">"+html+append+"</p>";
            label = label+link;
            // create the marker
            var marker = createMarker(point,label,html);
            map.addOverlay(marker);
            
            // ==== Each time a point is found, extent the bounds of the map
=====
            bounds.extend(point);
          }
          // ===== determine the zoom level from the bounds =====
          map.setZoom(map.getBoundsZoomLevel(bounds));
          // ===== determine the centre from the bounds ======
          var clat = (bounds.getNorthEast().lat() +
bounds.getSouthWest().lat()) /2;
          var clng = (bounds.getNorthEast().lng() +
bounds.getSouthWest().lng()) /2;
          map.setCenter(new GLatLng(clat,clng));
        }
      }
</script>
-------------------------


On Dec 3, 2013, at 9:58 AM, Dave Long <d...@northgoods.com> wrote:

> 
> Can anyone suggest a link to a good tutorial on setting up an app to 
> create either a Google or Bing map populated by a MySQL db using 
> ColdFusion? (for real estate purposes)
> 
> I've tried going to their sites (Google, Bing) but it seems you have 
> to have been born knowing the terminology to find the correct
instructions.
> 
> Thanks,
> 
> Dave Long
> 
> 
> ---
> This email is free from viruses and malware because avast! Antivirus
protection is active.
> http://www.avast.com
> 
> 
> 



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:357261
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to