KMLin custom php map

Home Forums MapPress Support KMLin custom php map

Tagged: 

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #10916
    tbecker
    Participant

    How can I display a KML file in a custom map. I can add a KML to a post and see it in a shortcode  map, but I don’t know how to access that in my custom map. I’m using a custom map in order to display different icons for each poi based on a custom field.

    Thanks!

    #10919
    Chris
    Keymaster

    Hi, assuming you’ve already seen the example PHP code in the docs, you just need to set two things for the POI to display KML:

    1) $poi->type = “kml”

    2) $poi->kml = http://mykmlurl.kml

     

    For example:

    $mypoi= new Mappress_Poi(array("iconid" => "green-dot", "title" => "KML Example", "type" => "kml", "kml" => "http://kml-samples.googlecode.com/svn/trunk/kml/Region/polygon-min-max.kml"));
    #10936
    tbecker
    Participant

    I have gotten a custom map working and the type value seemed like the piece I was missing, but I still haven’t gotten it to work. I’ve put this example together with the example in the documentation and still no luck.

    This is what I’m testing right now:

    [code]

    $mymap = new Mappress_Map(array(“width” => “100%”));
    $mypoi_1= new Mappress_Poi(array(“iconid” => “green-dot”, “title” => “KML Example”, “type” => “kml”, “kml” => “http://kml-samples.googlecode.com/svn/trunk/kml/Region/polygon-min-max.kml”));
    $mypoi_2 = new Mappress_Poi(array(“title” => “500 Chestnut St”, “body” => “Independence National Park, Philadelphia, PA<br/>19106”, “point” => array(“lat” => 39.948712,”lng” => -75.15001)));
    $mymap->pois = array($mypoi_1, $mypoi_2);
    echo $mymap->display(array(“directions”=>”none”));

    [/code]

    It shows the point, but not the kml file. The kml file does display in the shortcode mashup.

    By the way, how do you format code in a post?

    #10969
    Chris
    Keymaster

    Hi, to format code click the kitchen sink icon on the right of the editor toolbar, then change ‘paragraph’ format to ‘preformatted’.

    Sorry, I should’ve tested the code first.  There are two problems:

    1 – I gave you the wrong syntax.  The KML parameter should itself be an array with ‘url’ as an element (I thought I might eventually add more KML options).  Corrected code is below.

    2-  when a KML is added programmatically (vs. in the Map Editor)  it doesn’t have a center until the file is loaded.  I hadn’t considered that case and the map ends up centering on NULL, which gives a blank map.

    I can easily update the code to use (0,0) as the center if the KML isn’t loaded – but then the map won’t automatically center correctly.

    A better solution is to load the POIs asynchronously, but that may require a lot of re-coding.  Do you plan to set a map center explicitly, or did you need it to automatically center using the KML data?

    If you like, send me a note using the contact form and I can send you the 0,0 fix to try out right away.  Otherwise, I’ll work on the other solution but I can’t say yet when it will be ready.

     

    $mymap = new Mappress_Map(array("width" => "100%")); 
    $mypoi_1= new Mappress_Poi(array("iconid" => "green-dot", "title" => "KML Example", "type" => "kml", "kml" => array("url" => "http://kml-samples.googlecode.com/svn/trunk/kml/Region/polygon-min-max.kml"))); 
    $mypoi_2 = new Mappress_Poi(array("title" => "500 Chestnut St", "body" => "Independence National Park, Philadelphia, PA<br/>19106", "point" => array("lat" => 39.948712,"lng" => -75.15001))); 
    $mymap->pois = array($mypoi_1, $mypoi_2); 
    echo $mymap->display(array("directions"=>"none"));

     

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.