Вот пример openstreetmap с наложением kml, сделанным в openstreetmap: http://maps.burningsilicon.net/
Прежде чем приступить к работе с этим примером, я рекомендую прочитать некоторую вводную документацию по открытым слоям, поскольку ее внутренняя работа не всегда тривиальна для понимания.
Не забудьте наложить некоторые ограничения на загруженные файлы kml. Вы должны либо ограничить размер и / или количество узлов, так как огромные файлы kml, генерируемые gps-трекерами, могут легко заглушить браузер. Кроме того, вы также можете упростить загруженные файлы kml с помощью gpsbabel (http://www.gpsbabel.org/).
Если это звучит слишком сложно для вас, возможно, вам подойдет Google Maps.