Jason,

Thanks for the tips.   Something is still wrong, though.

I placed an alert in the function, to see if it being called and I get nothing. ------------>>>>>>>>>>>>> See below.

I was under the impression from the jquery documentation that $(document).ready(function() ran automatically without being called...?

Thanks!!

- Ron

$(document).ready(function() {
$.getJSON("http://maps.google.com/maps/api/geocode/json?address=201+W+Capitol+Ave,+Jefferson+City,+MO,+651011&sensor=false <http://maps.google.com/maps/api/geocode/json?address=201+W+Capitol+Ave,+Jefferson+City,+MO,+651011&sensor=false>", function(data) {
 parseMarkerList(data); //data = JSON returned
alert(data); //-------------------->>>>>>>>>>>>>>> Test to see if function is called.
   });
});
</script>

<script>
var lat;
var lng;
function parseMarkerList(data) {
 for (var i=0; i < data.results.length; i++) {
        lat = data[i].Latitude; // Where Latitude is the node name
        lng = data[i].Longitude; // Where Longitude is the node name
alert(lat + " -- " + lat); //-------------------->>>>>>>>>>>>>>> Test to see if function is called.

        //createMarker(lat, lng);
    }
}
</script>






On 5/28/2010 10:44 AM, Jason Sanford wrote:
It looks like the data returned is an object and not an array. so when you say "for (var i=0; i < data.length; i++) {" there is no length property of the data object. Instead you should try "for (var i=0; i < data.results.length; i++) {" which is, I assume, an array of potential geocoding results.

Also, it looks like you're declaring your "lat" and "lng" variables inside a loop. If you do it this way they won't be accessible outside of the loop. Try declaring "lat" and "lng" outside of the loop and setting them inside. Kind of like this:
<script>
var lat; //Declare here
var lng;
function parseMarkerList(data) {
 for (var i=0; i < data.length; i++) {
lat = data[i].Latitude; // Where Latitude is the node name //Set here
       lng = data[i].Longitude; // Where Longitude is the node name
       //createMarker(lat, lng);
   }
}
</script>

On Fri, May 28, 2010 at 10:59 AM, Ron Calzone <[email protected] <mailto:[email protected]>> wrote:

    Pete,

    Thank you for your kind answer and patience with my ignorance of
    the finer aspects of Javascript!

    I have spent several hours trying to work this out and am getting
    nowhere.  I have a time-sensitive project, so I need to ask for
    more help.

    Why doesn't the following work?  Is it necessary to specify
    another page for the return json, or can a script on the same page
    process it?

    Thanks!!!

    - Ron


    <!DOCTYPE html>
    <html>
    <head>
    <style>img{ height: 100px; float: left; }</style>
    <script src="http://code.jquery.com/jquery-latest.min.js";></script>
    <script>
    $(document).ready(function() {
$.getJSON("http://maps.google.com/maps/api/geocode/json?address=201+W+Capitol+Ave,+Jefferson+City,+MO,+651011&sensor=false
    
<http://maps.google.com/maps/api/geocode/json?address=201+W+Capitol+Ave,+Jefferson+City,+MO,+651011&sensor=false>",
    function(data) {
     parseMarkerList(data); //data = JSON returned
     alert(data);
       });
    });
    </script>

    <script>
    function parseMarkerList(data) {
     for (var i=0; i < data.length; i++) {
           var lat = data[i].Latitude; // Where Latitude is the node name
           var lng = data[i].Longitude; // Where Longitude is the node
    name
           //createMarker(lat, lng);
       }
    }
    </script>
    </head>

    <body>
    <script>
    alert("Lat: " + lat +"Lng: " + lng);
    </script>


    </body>
    </html>


    On 5/27/2010 6:23 PM, pete wrote:

        Hi there,

        Whilst capturing a web service request and parsing it's data
        is not a
        Google Maps API related question, I'll attempt to answer as
        best as
        possible for your current query.

        Firstly, using a framework like JQuery makes this task extremely
        simple, with their $.getJSON method. For documentation see:
        http://api.jquery.com/jQuery.getJSON/

        You can then write some code to fetch the feed, and store it in a
        "data" variable

        $(document).ready(function() {
            $.getJSON("http://localhost/myService.aspx, function(data) {
                parseMarkerList(data); //data = JSON returned
            });
        });

        Your parseMarkerList(data) function can then loop through the JSON
        returned, and pull out nodes such as Latitude, Longitude etc,
        something such as:

        function parseMarkerList(data) {
            for (var i=0; i<  data.length; i++) {
                var lat = data[i].Latitude; // Where Latitude is the
        node name
                var lng = data[i].Longitude; // Where Longitudeis the node
        name
                createMarker(lat, lng);
            }
        }

        The createMarker function can then be a simple function that drops
        markers on the map, see:
        
http://code.google.com/apis/maps/documentation/javascript/examples/marker-simple.html

        Hope this has helped you.
        The key is passing your data object from the request's
        response, to
        the function that will iterate through the feed.
        Using this technique you can drop hundreds of markers with no
        additional code.

        Cheers
        Pete


        On May 28, 8:22 am, ron1776<[email protected]
        <mailto:[email protected]>>  wrote:

            I can't find documentation on how to capture the reply
            from Web
            Service Request.

            We want to set the json return array to a variable so we
            can parse the
            map data we need to then build the cost to make a map.

            Ideas?

            - Ron



--
    *************************************
    Ron Calzone
    Director, Missouri First, Inc.
    mailto:[email protected] <mailto:[email protected]>
    Web URL http://www.mofirst.org
    *************************************

-- You received this message because you are subscribed to the Google
    Groups "Google Maps JavaScript API v3" group.
    To post to this group, send email to
    [email protected]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:google-maps-js-api-v3%[email protected]>.
    For more options, visit this group at
    http://groups.google.com/group/google-maps-js-api-v3?hl=en.


--
You received this message because you are subscribed to the Google Groups "Google Maps JavaScript API v3" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-maps-js-api-v3?hl=en.

--

*************************************
Ron Calzone
Director, Missouri First, Inc.
mailto:[email protected]
Web URL http://www.mofirst.org
*************************************

--
You received this message because you are subscribed to the Google Groups "Google 
Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to