Background

Looking to display a map (for internal use only) on a web page. The application must be able to add custom layers (without sending the data to the map service host):

Municipal zones (defined by shapefiles)

Custom zones (defined by polygons, possibly in terms of Municipal zones)

Site locations (defined by lat/long)

Additional city data (defined by shape files)

Because it is a private venture, it eliminates many map services, including: Google Maps, Bing, Yahoo! Maps, MapQuest, and other pay-for-use services.

Update #1

Perhaps MapQuest is a possibility.

Update #2

Requirements that I forgot to mention:

There are additional data (cities, towns, hamlets) not part of OpenStreetMap. These cities must be included without giving the data to the map provider. There are various layers (such as employee locations) that also must be displayed, without telling the map provider where to find the data (i.e., the data will be behind a firewall).

Current Development

Currently, I have not been able to find a server that meets my requirements, so I have been following the instructions across various web sites to install a Mapnik web server:

At this point, I have various pieces of the data:

City and municipality data (shape files loaded into PostGIS)

Natural Earth data (shape files; not loaded)

Mapnik stylesheets (various files; not loaded)

GeoServer

I tried installing GeoServer (prior to Mapnik) but found the documentation to be lacking, the web-based administration tool to be cumbersome to configure, and the responsiveness on a 2 GHz machine to be painfully slow (10 seconds to render a tile with a single layer: roads), and the default aesthetic bland. (I know I can use stylesheets to liven up the presentation, but that means having to find [or create!] suitable files, install them, test them, and so forth.)

Requirements

The technical requirements include:

Cities, roadways, bodies of water (lakes, rivers, oceans)

Political boundaries (provinces, countries)

High quality (visually similar to Google Maps, MapQuest, etc.)

High uptime

900913 projection (similar to Google Maps)

Responsive tiles (under 0.1 seconds per tile)

Excellent coverage of street data for Canada

Useful for slippy map (compatible with OpenLayers)

10,000 tile requests per day

Free for commercial (or private) use, or less than $2000 per year?

Good Example

Here is an excellent example (OpenLayers) of what I'm looking to achieve:

Bad Examples

An example of what I'm not looking to achieve:

An example of incomplete data:

Related Links

Question

What WMS, WMTS, or WFS servers offer the required functionality?