ThinkGeo.com    |     Documentation    |     Premium Support

GoogleOverlay not updated after a mouse Pan

Hello,


I created a simple map with one GoogleOverlay.


When I use the mouse to make a pan on the Map, the GoogleOverlay is not completed. It's working fine when I use the PanZoomBar to do the Pan. No additional requests are sent


Do I have to force the refresh of the GoogleOverlay?


Here is the code I wrote.



        private void map1_Loaded(object sender, RoutedEventArgs e)
        {
            map1.MapUnit = ThinkGeo.MapSuite.SilverlightCore.GeographyUnit.Meter;
            map1.MapTools.PanZoomBar.Visibility = System.Windows.Visibility.Collapsed;

            GoogleOverlay google = new GoogleOverlay("Google", "****", "****");
            google.GoogleMapType = GoogleMapType.Satellite;

            map1.Overlays.Add(google);

            map1.CurrentExtent = new RectangleShape(-13939426.6371, 6701997.4056, -7812401.86, 2626987.386962);
            map1.Refresh();
        }

Thank you


Nicolas



In another project, I have the same issue using a InMemoryFeatureLayer where features are “manually” created using a remote WFS server. 
 In this project, there is only one feature, but it is a very complex one with 11097 vertices. 
 The feature is correctly shown after the initial load of the map. But then, she’s not updated when using the mouse pan. 


 


Hi Nicolas,
I tried your problem with the sample code you provided, but the result is different. After several mouse pans, each time the GoogleOverlay would request the new tiles automatically so I didn't recreate your problem. I used MapSuiteSilverlightEdition version 4.5.0.0, and the only modification I made on you sample code is as below:
//GoogleOverlay google = new GoogleOverlay("Google", "****", "****");
GoogleOverlay google = new GoogleOverlay("Google");
Could you please try my sample and tell me what result you get in your application?
Further questions please let me know.
Thanks.
James

Hi James,


Following your recommandation, I tried with a GoogleOverlay without ClientId and PrivateKey. I got the same issue.

I used MapSuiteSilverlightEdition v4.5.78 and v4.5.81 (yesterday daily build).


I have created a simple VS2010 solution with :

- a simple Silverlight project with only a GoogleOverlay

- a simple ASP.NET site with only one page to host the Silverlight control.


The Zip archive of this (including all the subdirectories, binaries...) is too big to be attached to this post.


If this can help you, I can send it to you by email.


Nicolas



Nicolas, 
  
 Please send zip file to forumsupport@thinkgeo.com and let him forward to James to said this file is a sample for post 8675. 
  
 Thanks, 
 James

Done.


You should receive it soon.


Nicolas



 


Hi Nicolas,
Here’s some additional information about this issue. I found that when panning the GoogleOverlay, there’s one particular case in which the map control won’t be refreshed after panning, that is, when performing mouse panning on the map, if the mouse left clicked on the Map and then moved outside of the Map control, and then the left button is released, this would cause the problem you mentioned. In this particular case, Map control has lost its focus when the MouseButtonUp event is raised, so the Map control won’t be able to capture the event, and for the Map control, the Panning action is unfinished even if we’ve done the panning.
Here is how I recreate this problem. Left click on the map and drag the map rightwards till the mouse pointer is outside of the Map control, then release the left button, the map won’t be refreshed.
I don’t know if this is your case, somehow, just in this way I can recreate the problem you mentioned for now.
I’m sorry I can’t provide you more helpful information, and hope this information can help you out.
Thanks.
James

Hi James, 
 Yes, I recreate also the problem when I run your particular case. 
 I also still have the issue in the following situations : 
 - after cleaning all the cache of Internet Explore (I’m using IE8) 
 - using Firefox 3.6.11 
 - using Chrome 8.0.552. 
  
 Some others information about hosting and development environment: 
 - Windows 7, 64b 
 - VisualStudio 2010 
 - Silverlight 4 for Silverlight contents 
 - hosting locally using IIS7 on 32b application pool and ASP.NET 2 (3.5) 
  
 Nicolas

 


Hi Nicolas,
After a long investigation, we finally located where the issue lies.
I apologize for the inconvenience we brought, and it’s indeed a bug in our code. Thanks for your patience and information.
If it’s an urgent bug fix that you’re looking forward to, I advise you try a lower version of MapSuiteSilverlightEdition, since the bug is probably caused by a new feature added at version 4.5.12.0, so the problem doesn’t occur in our public release version 4.5.0.0.
Any updates we’ll let you as soon as possible.
Thank you very much.
James

Hi James, 
  
 thank you for your investigation and the news. 
  
 Nicolas

Nicolas, 
  
 Did you try to use old version such as 4.5.0.0? 
  
 We have added this issue to our working track system, it will be fixed in next public release. 
  
 Thanks, 
 James

James, 
 yes, it’s working with the initial production release (v4.5.0.0).  
 But there is another issue with this version when using the SingleTile mode. In this case, the size of the Google overlay is not corresponding to the size of the map. The GoogleOverlay is square and not rectangular.  
 For this issue, I’ll wait for the next public release. 
  
 Thanks a lot 
 Nicolas

Nicolas, 
  
 You don’t need to wait until next public release, I tell you the good news “We fix it”.  
  
 Please try to get latest version 4.5.87.0 and try again. 
  
 Thanks, 
 James

Very good news. 
 The 4.5.87 version is not yet available on my Customer portal. I can only download the 4.5.86. 
 I’ll try it when available ! 
  
 Thank you 
 Nicolas

Hi James, 
  
 I confirm, the version 4.5.87 solves the problem (for the GoogleOverlay, and also for some InMemoryFeatureLayer). 
  
 Thanks a lot 
  
 Nicolas

Nicolas, 
  
 Thanks for your confirmation, I am so glad it’s working with you. 
  
 James