ThinkGeo.com    |     Documentation    |     Premium Support

Re-project a point from the real world to the virtual world

Hello,


What is a best practice to re-project a point from a real world to the virtual world?

 

My scenario:

I’m panning to the right multiple times to the n’th virtual world.

Then I need to find a feature user clicked on. I’m using GetFeaturesInsideBoundingBox method and it returns me a feature on the real world.

Then I need to open a popup balloon for the same feature, but on the virtual world.


My initial idea was to calculate a new point by point.X=point.X+n*worldWidth, but I’m having troubles to find a “n” of virtual world.

Is there a better way to accomplish what I need?


I’m wondering if you are planning to implement a mouse click event for the feature object in the near future?


Thank you in advance,

Inna

 



Hi Inna,


You can try the code attached.


Hope it helps,


Edgar



010_009_008_007_006_005_004_003_002_001_code.txt (1.3 KB)

Hi Edgar, 
  
 Thank you for you sample. But unfortunately, I can’t use e.WorldLocation for popup’s position. 
 In theory, I can have multiple features around e.WorldLocation point and I need to open a popup exactly in the center of the feature (feature.GetShape().GetCenterPoint()), but on the virtual world. 
  
  
 Appreciate all your help, 
 Inna

Inna,
 
Here is the new code that can help you.
 
Regards,
 
Edgar

001_code.zip (521 Bytes)

Hi Edgar, 
  
 Your code only works if I have e.WorldLocation, but sometimes I don’t have e.WorldLocation at all, only center point of the feature. 
  
 Inna 


Inna, 
  
 I’m a little confused, why don’t you have an e.WorldLocation? Once the user clicks, you can get the e.WorldLocation from the event handler, my last code could help you open a popup in the center of the feature which user clicks on, if I misunderstood your question, could you please provide me more information? 
  
 Thanks, 
  
 Edgar

Hi Edgar, 
  
 Sorry for misleading you, but I have 2 types of scenarios: 
 1. When user clicks on the map. In this case, I have e.WorldLocation and it’s easy. 
 2. When user manually inputs coordinates of the box and then I need to find a feature inside a box and open a popup. It works when map is on the “real” world, but when user pans to the rights or to the left to the “virtual” world, I cannot open a balloon on the virtual world. 
  
 Hope it helps, 
 Inna

Inna,


Here is the new code for your second question, please have a try,


Regards,


Edgar



002_001_code.zip (680 Bytes)

Hi Edgar, 
  
 It works. 
  
 Thank you for all your help, 
 Inna

Inna, 
  
 You’re welcome, if you have any questions please let us know. 
  
 Regards, 
  
 Edgar