I like your first option but I try to do that:
$encoded_points=json_encode($points);
something = ???
echo "make_markers (something);";

and have the code of the function "make_markers" in another page
because this function is used several times !


On 22 oct, 20:24, Jake <[email protected]> wrote:
> On Oct 22, 1:06 pm,phicarre<[email protected]> wrote:
>
> > To Pavel: the context is different: I want to pass data to javascript
> > function. The function is not in a waiting state ! I execute the
> > function from PHP with echo.
> > To Jake: I transform a string in array.
> > How to execute a javascript function from PHP with parameters coded
> > with json_encode ?
>
> You can execute a javascript function with data from a PHP array
> encoded via jason_encode.   Here's how (untested code! replace
> do_query and get_row with the functions you use):
>
> $results = do_query("SELECT lat, lon, name, otherinfo FROM
> tablename");
>
> $points = array();
> while ($row = get_row($results)) {
>    $points[]=$row;
>
> }
>
> $encoded_points = json_encode($points);
>
> echo "
>  <script type='text/javascript'>
>   function make_markers(points) {
>     var i;
>     for (i=0; i< points.length; i++) {
>
>       gpoint = new GLatLng(points[i].lat, points[i].lon);
>
>       // create marker her with  points[i].name and points
> [i].otherinfo
>       // etc.
>     }
>  }
>
>    var points = {$encoded_points};
>    make_markers(points);
> </script>
> ";
>
> Since the DB returns results in that "(1.1,9.4),(1.15,9.4),(1.2,9.35)"
> format, you will have to take the points and put them in an array
> yourself.
>
> Option 2:
>
> Like a previous poster mentioned, If it's too much trouble to get each
> lat lon (or whatever) pair individually and put them in a PHP array,
> another option is to encode the string it in JavaScript Object
> Notation your self.
>
> You can:
> replace
> (  with [
> ) with ]
> add a [ to the left end of the string
> and add a ] to the right end of the string
>
> and then you've got a json encoded object that you can assign directly
> to a JS variable.
> [ [10,20],[30,40]]
>
> points[0][0] is lat (or whatever the first number in the coordinates
> is) of the first point
> points[0][1] is lon of the first point
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API" 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-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to