Duncan Garratt

There is no better test for an API than developers writing real world applications, to that end as a VE developer I would wish to see enhancements to the VE API, and I am sure other developers are of the same view. Below I have listed what functionality I would wish to see in the next version of VE, and I would encourage other developers to post details of functionality they would wish to be included in the next version.

  1. Distance calculation in KM/Miles for two points on map. (Included within Google Maps)
  2. Bearing calculation for two points on map.
  3. Area calculation for a polygon.
  4. Enhanced scale display i.e. 1:50000, 1:10000 etc
  5. Coordinate conversion algorithm to UTM and other common grid formats. (Universal Transverse Mercator)
  6. Static geo-referenced labels without an A link or rollover functionality.
  7. The ability to display more than one route on a map.
  8. Circles/Squares/rectangles to be included as shape objects.
  9. Clustering system for pushpins, polygons, polylines etc. E.g. Display only between set scales.
  10. Support for reading ESRI shape files. (AJAX feed and .Net application)

Whilst much of the functionality above I have included in my own software which has required serious coding, I am sure that many VE developers would wish to see this functionality added to the VE API along with their own suggestions.

Duncan Garratt


Re: VE Version 6 Wish List


To add a couple of wishes of my own:

11. An api for the 3D control that would block until all the outstanding threads have finished what they are doing. Often the events and methods do not seem to fire in the order the events happen.

12. A method that would return the ground elevation at a given point (for 3D)

13 A method that would zoom to an exact bounding rectangle (ie fractional zoom levels) (again, for teh 3D control)

14 An implementation for the 3D control of the alt key drag box that is in the 2D control

15 A way to disable the default keyboard and mouse actions that happen in the 3D control. Often the UI I want uses some actions that trigger default behaviour.

16 A drawing / editing api for the 3D control

17 Documentation that describes the camera model and lens angles that are used in the 3D control to establish what a given viewpoint can see.


Re: VE Version 6 Wish List


Ok Ill add by few to the list as well

1) A way to find the max zoom level available at a given point (I believe this is already available but hidden deap in the js code)

2) A way to center custom shape icons above their point (if they are very long the align by the top left corner of the give point)

3) A way to handle overlapping pushpins either like mappoints 'PreventIconCollisions' or like Google Earths spider diagram approach.

4) An easy way to disable the popup box showing for shapes, its asked for some much on these forums just a shape.DisablePopup property would help lots of people

5) An easy way to attach events to specific shapes or shapes within a shape layer rather than having to handle this in a custom handler each time.

That should cover 90% of what i've been ask3ed for recently


Brian Norman


Re: VE Version 6 Wish List


My wish is:

A massive speed gain when creating pushpins.

My applications got thousands of pushpins, and even with Soulsolutions cluster technique there remain up to 500 pins i have to display on the map at the same time, so it takes several seconds when updating the map.

Re: VE Version 6 Wish List



I've heard, although not actually tested, that when loading lots of pushpins if you can load them from a georss file its faster as it does them all in one go Not sure if anyone has any proof of that



Re: VE Version 6 Wish List


Just one more

- being able to add a pause to events like zoom and pan so that you can ensure the user has finished moving the map rather than just moving there mouse ready for the next move.

Brian Norman


Re: VE Version 6 Wish List

Duncan Garratt

Brian from Earthware kindly emailed me this link regarding spatial support for MS SQL 2008


Spatial support for MS SQL would be most welcome, and what would be extremely useful for us developers would be for Microsoft to disclose the MS SQL data structures for this support now, so that applications being developed now, can take advantage without change to the data structure when MS SQL 2008 is released.

Re: VE Version 6 Wish List

Duncan Garratt

create a polyline to show an aircraft track(appr 10 points).

Everything is fine untill I zoom in closer and all of a sudden polyline jumps

and displays incorrectly.

When I zoom out it restores itself.

What is wrong here, a v5 bug!



I have had the same problem, which is not just confined to version 5, but also occurs in version 4. I believe this to be a bug in the Virtual Earth API, which occurs when a polygon or polyline is redrawn when the zoom event handler is fired. The problem particularly relates to when some or all of the points are outside of the bounds of a map for the current zoom level.

This is an important area that the VE Development team need to look at urgently as it is clearly a bug and needs to be fixed.

Duncan Garratt


Re: VE Version 6 Wish List


My wish list is to fix MEMORY LEAK PROBLEMS in VE as soon as possible

1. when add number of shapes(pushpins) and then use shape.SetPoints to change the location

it is clearely leaks memory.

2. when add number of shapes(pushpins) and do zoom In/Out when pushpins are visible

it clearely leaks memory


Re: VE Version 6 Wish List

Duncan Garratt

Reference RSS Feeds

The parser seems to work well providing simple GEORSS is used. The problem with the link tag seems to be down to using GML, and not simple GEORSS. What I am still trying to find out is how to set the following in RSS

1. Polygon line colour

2. Polygon line width

3. Polygon line transparency

4. Polygon fill colour

5. Polygon fill transparency

6. Polygon line style

Having looked on the web, and gone bald in the process there appears to be little, or no documentation to achieve this. Microsoft please document this area properly in your SDK, and save us developers hours of R&D!

In the process of going bald over this I have made an interesting discovery.

When a collection is called, simple GEORSS is not returned, but a mark-up language that is undocumented called CML. Presumably the C stands for Collection e.g. Collection Mark-up Language.

What is most significant is that a style tag/element is included <Style></Style> where the following can be set.

  1. Polygon line colour
  2. Polygon line width
  3. Polygon fill colour
  4. Polygon line style

What is omitted is

  1. Polygon line transparency
  2. Polygon fill transparency

What is most interesting is that the parser to handle CML is already included in the VE API, but is restricted to a Collection ID. What would be great is for the VE API to call a URL as well as a Collection ID, so that a file, or stream containing CML could be parsed.

This would be extremely significant, as it would allow collections to be dynamically created server side from a database server side application, such as MS SQL and C# server application, and displayed using an AJAX call. Not only could different layers be displayed, and toggled on, and off in a web page, but dynamic collection areas could be created, that are called from event handlers such as enddrag or endzoom.

This can be achieved already using GEORSS but is confined to markers, unless you want to be stuck with the standard poly objects default styles.

I do believe that CML has great potential in Virtual Earth, and MS SQL spatial, and I would urge the VE development team, and the MS SQL development team to collaborate in supporting CML, and make it available to developers, and not just confine its use to Microsoft applications.

In making this discovery I used httpwatch to view what was being returned by the AJAX post. Their website is http://www.httpwatch.com/. This is a great bit of software to monitor what is being returned from an AJAX post, or get.

I hope this helps to explain some of the mysteries of RSS feeds and MS Collections.

Duncan Garratt


Re: VE Version 6 Wish List


For me,

1. Add ability to geocode a location. (especially a postcode).

2. https support.