Hello,
I have been using Visio to do layout planning where I bring Google Earth aerial image in Visio, scale it and use it as the base. This has been a very helpful method. This is good only when I am working with a small footprint (few hundred acres area). It provides a good resolution so you can see things when you zoom in. However, when I am working with a large footprint (few thousand acres area), it becomes difficult to see things when you zoom into it as the image resolution is not good enough. This even after I use the maximum resolution output from Google Earth.
My question is, is there a way to have google earth or bing maps aerial to be programmed in a shape where everytime you zoom in, the resolution changes dynamically. Just like google earth, where, as we zoom in the area becomes much clear.
Is there any API's that we can use?
Has anyone tried it? or thought about it?
Its just like the aerial imagery in GIS, where, as we zoom in the image becomes much clear.
Any help or reference will be helpful.
-Miki
Coming back to my question which was posted a while ago.
I am still looking if this is possible.
Any thoughts?
- Miki
So you don't feel ignored...
I kinda doubt any one has tried this. But, maybe someone has an idea.
Wapperdude
There are several possibilities to swap displays.
For my part, I chose to set a view on an imported bitmap image and scroll via a custom property (prop.zoom)
Prop.zoom references a similar cell at page level (This way the code is easier to handle)
Prop.zoom of the page is set by an event handler which listens to the viewChanged event of the page.
Class listener:
Dim WithEvents vsoWindow As Visio.Window
Private Sub Class_Initialize()
Set vsoWindow = ActiveWindow
End Sub
Private Sub Class_Terminate()
Set vsoWindow = Nothing
End Sub
Private Sub vsoWindow_ViewChanged(ByVal Window As IVWindow)
On Error GoTo errHandler
Debug.Print Window.Zoom
Select Case Window.Zoom
Case Is < 1: Window.Page.PageSheet.Cells("prop.Zoom").FormulaU = "1"
Case Is < 2: Window.Page.PageSheet.Cells("prop.Zoom").FormulaU = "2"
Case Else: Window.Page.PageSheet.Cells("prop.Zoom").FormulaU = "3"
End Select
Exit Sub
errHandler:
Debug.Print "error in vsoWindow_ViewChanged"; Err.Description
End Sub
in ThisDocument:
Dim myListener As Listener
Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
Set myListener = New Listener
End Sub
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument)
Set myListener = Nothing
End Sub
You could also make the visibility of layers depend on the zoom level.
Yacine,
Thats not a bad way to look at it.
I am going to give this one a try.
Thank you.
As I wrote previously, this is only one of many different ways to attack the problem.
I'd love to follow the development of your work. Don't hesitate to ask when you get stuck.