2012-03-30 32 views
12

Si se busca una ciudad en Google Maps, por ejemplo Berlín, se muestran los límites municipales de Berlín (línea discontinua gris con línea gruesa rosa adentro).Google maps Límite municipal API v3

¿Es posible hacer lo mismo con Google Maps API?

+2

Actualmente no es compatible con la API de mapas, pero la API de Twitter proporciona una solución alternativa: [Agregar el esquema "Área de búsqueda" en el resultado de google maps] (http://stackoverflow.com/questions/9706484/add-search- area-outline-onto-google-maps-result) –

Respuesta

0

Creo que sí, pero la lógica podría ser una locura. Puede agregar una vista en MapView y mediante el uso de los formatos de mapa de Mapview, puede especificar una latitud y longitud geográfica.

Este es uno de mis "enfoques nucleares". Creo que el objeto MapView en sí puede decirle qué ancho y alto es el objeto MapView. Una vez que las cosas se dibujan en la pantalla, puede medir la vista del mapa en sí. Desde aquí, tienes la capacidad de traducir los píxeles a longitud y latitud y viceversa. Usted, desde aquí, puede alimentar todo tipo de datos a una vista para hacer un dibujo.

Ahora, para hacer algo así como para obtener un contorno perfecto de un gráfico en el mapa, probablemente tendría que llegar a un nivel inferior y hacer comparaciones de píxeles.

La otra alternativa es descubrir cómo trazar el contorno del área y luego representarla.

1

Creo que quiere poner un esquema en el mapa que define un área, en su caso el área municipal de Berlín.

Sé en los Estados Unidos que hay datos del censo que tienen la longitud y las latitudes de todos los condados que están disponibles para su descarga de forma gratuita. No estoy seguro de si Alemania tiene algo similar, sin embargo, una búsqueda en Google de "coordenadas latitudinales largas delinean Berlín municipal" revela muchos resultados.

Entonces, ¿qué haces con las coordenadas después de encontrarlas? Google Maps API te permite poner Polygons en el mapa en función de las coordenadas geográficas.

Utilizo la parte Google Encoded Polylines de la biblioteca de Geometría para almacenar mis polígonos y luego volver a mostrarlos cuando se muestra un estado específico.

Ejemplo

var map = new google.maps.Map(document.getElementById("googlemap"), myOptions); 
var encodedpoints = "<encoded points string>"; 

var polyOptions = { 
    "strokeColor": '#000000', 
    "strokeOpacity": 1, 
    "strokeWeight": 1, 
    "fillColor": "#000000", 
    "fillOpacity": 0.5 
}; 
polyOptions.path = google.maps.geometry.encoding.decodePath(encodedpoints) 
var mypolygon = new google.maps.Polygon(polyOptions); 
mypolygon.setMap(map); 

Este ejemplo pondrá un polígono en el mapa que tiene un borde de línea negro y 50% de opacidad relleno negro. Puedes cambiar las opciones a lo que quieras.