ThinkGeo.com    |     Documentation    |     Premium Support

Getting clicked feature

This should be very very simple.


After searching and asking the only things i could find where related to distances etc.


This is what i did for a first test


Private Sub Map1_MapClick(ByVal sender As Object, ByVal e As MapClickWinformsMapEventArgs)


Dim p As New PointShape(e.WorldX, e.WorldY)


Dim pointLayer As InMemoryFeatureLayer = DirectCast(Map1.FindFeatureLayer("PointLayer"), InMemoryFeatureLayer)

        pointLayer.Open()



        Dim selectedFeatures As Collection(Of Feature) = pointLayer.QueryTools.GetFeaturesNearestTo(p, GeographyUnit.DecimalDegree, 1, ReturningColumnsType.AllColumns)

        Dim clickedUser As Feature = selectedFeatures(0)


 


but that would result in getting a feature every time i would click on the map....


Simple click handler for one feature???



Could you rephrase your question? We don’t understand very well what you are asking. Thank you.

I am trying to acquire the clicked feature. 
 I click on a feature and i want to get its tag. 
  
 With the code i provided above i can do that, but i get the closest feature to where i clicked, anywhere on the map. 
 I want to get the feature only when i click right on it.

Well, you have to understand that if you are using a point based layer, to get the feature you clicked on, you would have to click right on it and this is not very convenient to have it implemented that way. I think that your issue is a little similar to another post where the user is using a line based layer. Please, check that post out and I think it will helkp you out. gis.thinkgeo.com/Support/Discussion...fault.aspx. You can see how we use a buffer in screen coordinate to get the feature clicked on. I think this method could apply well for your case.


We also have a Code Community project showing a similar technique with a point based layer represented by icons.  If you want to implement the way where it gets the feature that has its icon clicked on, check this out Identify Point with Iconcode.thinkgeo.com/projects/show/identifypointicon


I hope this is going to help.