[ka-Map-users] Switching maps, same scale
Paul Spencer
pspencer at dmsolutions.ca
Fri Mar 31 07:30:02 EST 2006
sadly, not much. I started an initiative to document the code using
jsdoc, so a shell of the docs covering all the objects and methods
are in cvs but there isn't a lot of meat on it.
Cheers
Paul
On 31-Mar-06, at 3:09 AM, Sten-Helge Henriksen wrote:
> Hi there!
>
> Your solution to my question took a couple of minutes to implement. It
> worked, and I am now able to change map without loosing center or
> scale.
> Thanks.
>
> Ka-Map seems to have a lot of features built in whiteout being
> activated.
> Is there somewhere any documentation which describe the
> architecture of
> Ka-map?
>
> Sten-Helge Henriksen
>
>> Sten-Helge,
>>
>> its possible but requires a little bit of code to make it happen.
>>
>> The first thing you need to do is intercept the call to mySetMap in
>> the <select> in index.html. You can do this by modifying the
>> <select> to call your own function or my modifying mySetMap in
>> startUp.js.
>>
>> I'll describe modifying mySetMap in startUp.js. Currently this
>> function reads:
>>
>> function mySetMap( name ) {
>> myKaMap.selectMap( name );
>> }
>>
>> To get the new map to load at the same center and scale as the
>> previous map, we have to pre-set the extents of the new map before
>> selecting it (um, wouldn't it be nice if you could pass new extents
>> or centerpoint and scale to selectMap! - I've added this to kaMap.js
>> in cvs).
>>
>> Looking in kaMap.js at selectMap, if the new map has a center point
>> ad scale set in an array aZoomTo then it will apply it right away.
>> If aZoomTo is not set, it will use the currentExtents array. So all
>> we need to do is grab the current extents or current center and scale
>> and apply that to the new map before selecting it. Center point and
>> scale is more accurate since kaMap will often zoom out one scale to
>> show given extents (probably a rounding error somewhere). So the
>> modified mySetMap is:
>>
>> function mySetMap( name ) {
>> var scale = myKaMap.getCurrentScale();
>> var centerX = (extents[0] + extents[2])/2;
>> var centerY = (extents[1] + extents[3])/2;
>> myKaMap.aMaps[name].aZoomTo = [centerX, centerY, scale];
>> myKaMap.selectMap( name );
>> }
>>
>> if you are using the cvs version after my commit this morning, you
>> can modify this as:
>>
>> function mySetMap( name ) {
>> var scale = myKaMap.getCurrentScale();
>> var extents = myKaMap.getGeoExtents();
>> var centerX = (extents[0] + extents[2])/2;
>> var centerY = (extents[1] + extents[3])/2;
>> myKaMap.selectMap( name, [centerX, centerY, scale] );
>> }
>>
>> Cheers
>>
>> Paul
>>
>> On 30-Mar-06, at 2:25 AM, Sten-Helge Henriksen wrote:
>>
>>> Hi list!
>>>
>>> In my Ka-Map setup I have two types of maps, raster and vector,
>>> which are
>>> covering the same geographical area.
>>> When I am using one map type at a low scale and want to switch over
>>> to the
>>> other map type, I have to start all over again and manually
>>> change the
>>> scale to the same as on the previous map.
>>> Is there a way to keep those to maps at the same scale? That is
>>> when the
>>> user switch map the same scale is maintained. And if so, how?
>>>
>>> Sten-Helge Henriksen
>>> _______________________________________________
>>> 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/|
>> +-----------------------------------------------------------------+
>>
>>
>>
>>
>>
>
+-----------------------------------------------------------------+
|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