Siguiendo con el API de Bing Maps, vamos a incluir un fichero
KML, el cual nos va a permitir cargar nuestra propia cartografía
con los detalles o elementos que hayamos identificado o dibujado en
nuestro mapa.
Con el mismo ejemplo, realizamos varios cambios, el primero es
indicar la versión del API 6.3, el
anterior artículo contiene referencias al API 7.0, y agregamos
al código unas nuevas variables, una de tipo VEShapeLayer y otra de
tipo VEShapeSourceSpecification, ésta última nos permitirá agregar
un kml, mediante un valor del enumerado VEDataType, que permite
importar un xml.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Mapa KML</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3"></script>
<script type="text/javascript">
var map = null;
function getMap()
{
map = new VEMap('myMap');
map.LoadMap();
var layer = new VEShapeLayer();
var layerSpec = new VEShapeSourceSpecification(VEDataType.ImportXML, "TU_FICHERO_KML", layer);
map.ImportShapeLayerData(layerSpec);
}
</script>
</head>
<body onload="getMap();">
<div id='myMap' style="position:relative; width:400px; height:400px;"></div>
</body>
</html>
Una vez sustituido el texto "TU_FICHERO_KML", por tu documento
KML. Al final obtenemos un mapa como el siguiente:
Hay algunos intérpretes de GeoRSS, que haciendo transformaciones
desde KML a CSV, por XSL, y desde CSV, mediante el intérprete poder
visualizar los datos en el API.
Más información del API 6.3: http://msdn.microsoft.com/en-us/library/bb429619
e información y ejemplos del SDK 7.0 http://www.bingmapsportal.com/isdk/ajaxv7