[ka-Map-users] iframe passing extents back to containing page

percy percyd at pdx.edu
Wed Sep 6 14:34:53 EDT 2006


Thanks Paul, that was easy, next time I promise to look at kamap.js a 
little closer :-)

Though maybe you could save me some time on this question:
I'd like to modify the default behaviour on a dbl-click to zoom in AND 
pan, instead of just panning.

Can I have a clue on this one as well?

Thanks a bunch,
Percy

Paul Spencer wrote:
> Percy,
>
> to set the extents of the iframe, you can do something like:
>
> document.getElementById('frameid').contentWindow.myKaMap.zoomToExtents(minx,miny,maxx,maxy); 
>
>
> Cheers
>
> Paul
>
> On 6-Sep-06, at 12:41 AM, percy wrote:
>
>> So, now that we have a way to GET the extents that the user zoomed 
>> to, we'd like to do the opposite!
>>
>> We'd like to SET the extents of the iframe, based on what the user 
>> has already zoomed to, after they look at their results and then hit 
>> the back button in their browser to refine their search.
>>
>> I can capture and parse the extents from the bounding box fields 
>> using the window.onload event, but I am trying to figure out the most 
>> elegant way to pass these to the iframe object. I couldn't find a 
>> "setGeoExtents" method. I thought about programmatically poking the 
>> values into the src property of the iframe object, but I worry that I 
>> am setting myself up for some creepy cross-browser DOM issues.
>>
>> Any ideas on the best approach to this? Here's the beta version we 
>> are using for testing:
>> http://ngmdb.usgs.gov/ngmdb_work/ngm_compsearch_map.html
>>
>> Thanks,
>> Percy
>>
>> percy wrote:
>>> Hi Paul, below is the code we ended up using, in case it helps 
>>> anyone else...
>>> And here's the page it's in for testing:
>>> http://geospatial.research.pdx.edu/~bjpd/usgs/ngm_quicksearch9.html
>>>
>>> Thanks again,
>>> Percy
>>>
>>> -------------------iframe code to dump extents into hidden fields 
>>> for database search----------------
>>> <iframe id = "geosrchmap" name= "geosrchmap" src = 
>>> "http://geospatial.research.pdx.edu/~bjpd/kamap-cvs/htdocs/iframe.html" 
>>> width = "100%" height = "400">
>>> </iframe>
>>> <input name = "showextents" value ="Use This Extent" type = "button" 
>>> onclick = "storeExtents()">
>>> <script type = "text/javascript" language = "javascript">
>>> function storeExtents()
>>> {
>>> var myextents = 
>>> document.getElementById('geosrchmap').contentWindow.myKaMap.getGeoExtents() 
>>>
>>> //alert(myextents)
>>> document.getElementById('kaminx').value = myextents[0]
>>> document.getElementById('kaminy').value = myextents[1]
>>> document.getElementById('kamaxx').value = myextents[2]
>>> document.getElementById('kamaxy').value = myextents[3]
>>> }
>>>
>>> </script>
>>> <input id="kaminx" name="kaminx" type = "hidden" value="" >
>>> <input id="kaminy" name="kaminy" type = "hidden" value="" >
>>> <input id="kamaxx" name="kamaxx" type = "hidden" value="" >
>>> <input id="kamaxy" name="kamaxy" type = "hidden" value="" >
>>> --------------------------------------------------------------------------------------------------------- 
>>>
>>>
>>> Paul Spencer wrote:
>>>> Percy,
>>>>
>>>> I'll try to catch you on IRC (pagameba) but in case I don't ...
>>>>
>>>> If your iframe is loaded from the same site as your main page, then 
>>>> you are allowed to script between them.  Whatever triggers your 
>>>> query, you can do one of the following:
>>>>
>>>> 1) from the main page (in response to clicking a button or 
>>>> something), you can call the kaMap object in the frame ...
>>>>
>>>> document.getElementById('frameid').contentWindow.myKaMap.getExtents();
>>>>
>>>> 2) from the iframe (in response to an event for instance), you can 
>>>> call a function in the parent window ...
>>>>
>>>> window.parent.someFunction();
>>>>
>>>> Cheers
>>>>
>>>> Paul
>>>>
>>>> On 31-Jul-06, at 1:19 PM, percy wrote:
>>>>
>>>>> I would like to embed a kamap iframe within a database search page 
>>>>> and
>>>>> have it pass back the extent of what the user has zoomed to so that I
>>>>> can use this in a query to my database.
>>>>>
>>>>> the goofy part is that the embedding page is a Perl CGI, so I 
>>>>> think I'm stuck using Perl mapscript to access the iframe's 
>>>>> properties.
>>>>>
>>>>> any hints on the best way to do this? I'm on the IRC right now...
>>>>>
>>>>> thanks,
>>>>> percy
>>>>>
>>>>> PS I searched the mailing list archives already...
>>>>>
>>>>> _______________________________________________
>>>>> ka-Map-users mailing list
>>>>> ka-Map-users at lists.maptools.org
>>>>> http://lists.maptools.org/mailman/listinfo/ka-map-users
>>>>
>>>> +-----------------------------------------------------------------+
>>>> |Paul Spencer                           pspencer at dmsolutions.ca   |
>>>> +-----------------------------------------------------------------+
>>>> |Applications & Software Development                              |
>>>> |DM Solutions Group Inc                 http://www.dmsolutions.ca/|
>>>> +-----------------------------------------------------------------+
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> ka-Map-users mailing list
>> ka-Map-users at lists.maptools.org
>> http://lists.maptools.org/mailman/listinfo/ka-map-users
>
> +-----------------------------------------------------------------+
> |Paul Spencer                           pspencer at dmsolutions.ca   |
> +-----------------------------------------------------------------+
> |Applications & Software Development                              |
> |DM Solutions Group Inc                 http://www.dmsolutions.ca/|
> +-----------------------------------------------------------------+
>
>
>
>
>



More information about the ka-Map-users mailing list