We have a ASP.NET web application for CRM, with an SqlServer database.
There is a "customer list" page (mainly, a GridView) with customizable filtering, plus "column" selection (that is, we can add or remove the "customer type", "subtype", etc.
Most customers have GPS coordinates, all located in Spain.
From the "customer list" page, we currently have a "map view" option that generates a KML file with the current selection of customers (based upon filters applied within the ASP.NET app). This file is the downloaded and opened in Google Earth, if installed (or fails, otherwise). It also divides those customers into "blocks" (which are plotted in distinct colours in Google Earth).
We started with Google Maps API, but performance was a big issue (the database has +400,000 customers), so we swapped to the KML/Earth "workaround".
Now we need the user to be able to "select" customers geographically - that is, with a polygon (or, even better, drawing a closed shape like in simple Paint). Then, the selected customers ids (those inside the shape) would be fed back to the ASP.NET web app.
We think Earth is not the tool for this, the "feedback" part looks difficult and probably not very user-friendly. So, we should reconsider Google Maps API...
We'd rather this was a "replacement" of Earth, but if plotting half a millions markers on maps is a problem, we could keep Earth as an alternative for larger sets of data (shape selection would only be available on smaller sets, on GoogleMaps). Anyway, selecting up to 1000 customers, on a set of 15-20,000 markers with acceptable performance should be a minimum requirement...
we could limit the ammount of markers (force the user to use more restrictive filters), if necessary (the higher we can achieve, the better). Unfortunately this would force us to have "two" map types, both Google Maps API (for smaller ammounts, allowing area selection) and Earth (for larger sets). Obviously we'd rather have only Google Maps but this is alternative.
Also, since "drawing" is in the first place hard, some "retry" should be provided. Maybe allowing the user to modify an already drawn shape, or at the very least "restarting" it.
Delivery would be the an ASP.NET page with a customer list GridView (id, name, type, latitude, longitude) where we can select customers on a map, via a shape. Marker colour should depend on the type field. We can provide sample data, if needed. Code should be very clear and documented so we can easily "link" it to the current application.
Comments are accepted in catalan, spanish or english. So will be communications.
This is our first time using [url removed, login to view], but finding a reliable Provider for geo-stuff programming would prove interesting for future developments.
We believe Milestone payment upon delivery to be the most reliable payment method for both parts, but are open to other alternatives.
We also are open to negotiate the proposed price if addicional value is provided.