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.