ThinkGeo.com    |     Documentation    |     Premium Support

Map_Click and LayerOverlays problem

I seem to have problem querying Layer overlays.


I have two shapefiles and Markers loaded into LayerOverlays. In some places the two shapefiles overlap AND there is a marker on top of them.


When I click on a Marker or are with two overlying shapefiles, map_click always queries only the first layer. Even when it is switched off in the Switcher!!


How can I make sure that the proper layer/marker are queried? HOw can I make sure that the layer is NOT queried when it is unchecked in the Switcher?


 


thanks


jakub


 



Jakub, 
  
 I’m not quite sure about your scenario. Let me repeat it. 
  
 You have two overlays. One is LayerOverlay while another one is MarkerOverlay (No matter InMemoryMarkerOverlay or FeatureSourceMarkerOverlay). When you click on the map, there is only one layer is queried. But what you want to do is querying feature in all the layers in LayerOverlay and MarkerOverlay after clicked. But actually you can only query the feature from the first layer; nothing is returned from another layer and marker overlay. 
  
 If there is no misunderstanding, please provide me the shape type of the two layers such as point, line or polygon etc. Secondly, could you provide me the click event code?  
  
 When the overlay is unchecked in the overlay switcher, in the postback event, its IsVisible property is false. So you can skip querying this overlay in the click event. 
  
 Please let me know if you have any questions. 
  
 Thanks, 
 Howard

I have 5 overlays total: two base overlays - google and VE


two shapefile overlays and one Marker overlay.


Shapefiles and Markers are loaded into the LayerOverlays so I can prin them into the PDF.


I have figured out on how to distinguish between clicks on overlapping Shapfiles, they both return Feauter.count>0 and since I know which order they are loaded I show the popup for the top one.


BUT the Marker overlay always shows feature.count=0 even when clicked on the marker. What am I doing wrong?


 



     'Markers
        Dim currentoverlay As LayerOverlay = DirectCast(Map1.CustomOverlays("Markers"), LayerOverlay)
        Dim MarkerLayer As FeatureLayer = DirectCast(currentoverlay.Layers(0), FeatureLayer)

        MarkerLayer.Open()
        Dim MarkerFeatures As Collection(Of Feature) = MarkerLayer.QueryTools.GetFeaturesIntersecting(clickArea, New String(0) {"LocID"})
        If MarkerFeatures.Count > 0 Then
            FeatureFlag = "M"
        End If
        MarkerLayer.Close()



Thanks

Figured it out. My clickpoint buffer was too small. When increased to 5 it counts the markers fine. 
 Thanks for your help. 


Jakub, 
  
 Great! Glad to help you. 
  
 Any more questions please let me know. 
  
 Thanks, 
 Howard