[Users] Get Position from Vectorlayer

Andreas Hocevar ahocevar at opengeo.org
Tue Nov 22 14:05:23 CET 2011


FWIW, this is likely to be fixed soon in OpenLayers:
http://trac.osgeo.org/openlayers/ticket/3578

Andreas.

On Tue, Nov 22, 2011 at 12:54 PM, Andreas Hocevar <ahocevar at opengeo.org> wrote:
> Hi,
>
> your problem is that there is no e.xy for the featureselected handler.
> So instead of
>
> map.getLonLatFromPixel(e.xy);
>
> you will need a reference to your SelectFeature control (e.g.
> selectFeature), and do
>
> map.getLonLatFromPixel(selectFeature.handlers.feature.evt.xy);
>
> Andreas.
>
> On Tue, Nov 22, 2011 at 12:40 PM, Kai Volland <kaivolland at web.de> wrote:
>> Hi,
>>
>> hmm it don't work for me.
>>
>> layer.map.getLonLatFromPixel(...); // -------->  layer is not defined
>> calpal.map.getLonLatFromPixel(...); // -------->  is Null
>> e.feature.layer.map.getLonLatFromPixel(...); // -------->  is Null
>> e.feature.getBounds().getCenterLonLat(); //----------->  e.feature.getBounds
>> is not a function
>>
>> Here is my code. Maybe there is a problem i don't see.
>>
>> calpal.events.on({
>>        featureselected: function(e) {
>>                if(e.feature.attributes.count>1) {
>>                //map.zoomIn();
>>                if(map.getZoom()<8){
>>
>>  map.moveTo(e.feature.getBounds().getCenterLonLat().transform(WGS84,
>> mercator), map.zoom + 1);
>>                                /*var pixel =
>> calpal.map.getLonLatFromPixel(e.xy);
>>                                pixel.transform(WGS84, mercator);
>>                                map.moveTo(pixel, map.zoom + 1);*/
>>                        }
>>                }
>>                else{
>>                        calpalPopup(e.feature);
>>                }
>>        }
>> })
>>
>>
>> Kai
>>
>>
>> PS: got an error with the geoext-list so the mail goes to you only.
>>
>> Am 21.11.2011 14:26, schrieb Andreas Hocevar:
>>>
>>> Hi,
>>>
>>> layer.map.getLonLatFromPixel(...);
>>>
>>> or
>>>
>>> feature.layer.map.getLonLatFromPixel(...);
>>>
>>> And instead of feature.lonlat try
>>>
>>> feature.getBounds().getCenterLonLat();
>>>
>>> Andreas.
>>>
>>> On Mon, Nov 21, 2011 at 1:46 PM, Kai Volland<kaivolland at web.de>  wrote:
>>>>
>>>> And, how can i call it on the map and not on the vector layer?
>>>> I also tried feature.lonlat but this is "null" too.
>>>>
>>>>
>>>> Am 21.11.2011 12:34, schrieb Andreas Hocevar:
>>>>>
>>>>> Hi,
>>>>>
>>>>> you should be using the getLonLatFromPixel API method, although this
>>>>> won't fix your issue. To fix your issue, make sure to really call it
>>>>> on the map, not on the vector layer. And finally, it won't return
>>>>> anything before the extent/center of the map has been set initially.
>>>>>
>>>>> Andreas.
>>>>>
>>>>> On Mon, Nov 21, 2011 at 11:58 AM, Kai Volland<kaivolland at web.de>
>>>>>  wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> i get the error map.getLonLatFromViewPortPx is null when using it with
>>>>>> a
>>>>>> vectorlayer. Isn't it possible to use it it with a vectorlayer? And if
>>>>>> it's not possible how to get the position of an vector item?
>>>>>>
>>>>>> (The idea is to zoom in when clicking on clustered vectoritems.)
>>>>>>
>>>>>> Kind regards
>>>>>>
>>>>>> Kai
>>>>>> _______________________________________________
>>>>>> Users mailing list
>>>>>> Users at geoext.org
>>>>>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
>
>
> --
> Andreas Hocevar
> OpenGeo - http://opengeo.org/
> Expert service straight from the developers.
> _______________________________________________
> Users mailing list
> Users at geoext.org
> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>



-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.


More information about the Users mailing list