Como emular essa aparência + sensação do mapa base em escala de cinza no Google Maps

8

Adoro o design na página inicial do Development Seed , onde eles usaram um mapa base em escala de cinza com marcadores gráficos em estilo 3D em negrito.

insira a descrição da imagem aqui

Parece que eles usaram a API ModestMaps para criar um mapa base lado a lado em várias resoluções, com o texto e os gráficos gravados no mapa base .

Gostaria de imitar essa aparência (para um projeto pessoal e divertido) usando ferramentas disponíveis gratuitamente, como a API do Google Maps. Eu preciso da capacidade de alterar as sobreposições de marcador rapidamente, para que eles precisem desenhar dinamicamente sobre o mapa base.

É possível obter um cenário semelhante em escala de cinza com base no terreno usando o Google Maps?

A documentação de estilo da API do Google Maps mostra como reduzir a saturação do mapa superior, mas não vejo uma opção para fazê-lo com o mapa do terreno.

Acho que posso emular os gráficos em negrito usando o complexo exemplo de ícones como ponto de partida, mas gostaria de receber sugestões.

obrigado

Stephen Lead
fonte
trabalho em andamento aqui
Stephen Lead
Todas as sugestões abaixo são grandes, e eu vou dar-lhes uma chance quando eu posso - como eu disse este é apenas um projeto divertido do lado ...
Stephen Chumbo

Respostas:

5

Não sei se isso vai ajudar ou se o Google maps suporta outras camadas de blocos, mas existe um projeto de código aberto (e alguns servidores de blocos acessíveis gratuitamente) para gerar mapas de base.

http://acetate.geoiq.com/tiles/terrain/preview.html parece muito próximo do que você procura (embora não seja tão bom).

Você pode usar sua própria fonte, bem como uma opção adicional. Confira no GitHub todas as informações (incluindo a estrutura de URL dos servidores lado a lado e os exemplos pré-lançados).

Kelso
fonte
2
boa sugestão. a API do Google Maps suporta outras camadas de blocos
Casey
5

Se você se sente confortável usando os dados do OpenStreetMap, pode dar uma olhada no editor de estilos de mapa do CloudMade ; o estilo em http://maps.cloudmade.com/?lat=39&lng=-89&zoom=4&styleId=28983 pode ser um bom começo. Você pode clonar esse estilo e editá-lo para torná-lo melhor para suas necessidades.

Não tenho certeza se você pode usá-lo na API do Google Maps, mas definitivamente pode usá-lo com o OpenLayers e o Leaflet.

mattwigway
fonte
1
Essa opção não funciona no terreno; contornos apenas país (e mais qualquer outra característica física você pode querer, como rodovias, & c.)
mattwigway
1
Você pode usar o CloudMade nas APIs da Esri?
9116 Simon
2

Não, não é possível - o Google licencia e exibe imagens de base de relevo sombreadas MapLink, Tele Atlas para o Google Terrain MapType. Agora, na V3 da API do Google, você pode estilizar os recursos do Terrain MapType, mas os dados da imagem base são uma elevação mista e renderizações de vegetação / cobertura de neve.

Você pode remover os recursos com um &style=feature:all|element:all|visibility:offestilo de um tipo de mapa de Terreno. Mas você não pode renderizar o mapa base em escala de cinza. E, como você descobriu, definir a saturação apenas ajusta os recursos, e não a imagem base.

Você pode substituir o google.maps.MapTypeId.ROADMAP no seu código grayMapType por um tipo de mapa .TERRAIN, mas você fica preso no mapa base renderizado com relevo verde e cinza se estiver continuando a usar uma solução da API do Google Maps.

Aqui está um exemplo do melhor que você poderia fazer com o mapa do terreno de relevo sombreado fornecido pelo Google . Observe que os valores de zoom diferem dos valores de ROADMAP que você está usando.

Além disso, você notará que o pessoal da Seed de desenvolvimento está usando blocos de imagens com base em um DEM mundial, incluindo valores batimétricos com seus scripts Modest Maps FLash. Se você quiser criar o seu próprio, experimente as variantes SRTM30plus ou CleanTOPO . Mas você precisará executar mais o trabalho de back-end do serviço de criação de servidores da web. E se você se aprofundar nisso, talvez queira estudar sobre como trabalhar com relevos sombreados .

V Stuart Foote
fonte
2

Parece-me muito impressionante que o mapa base seja uma colina generalizada (e habilmente renderizada), provavelmente feita pela combinação de muitos modelos de elevação digital e conjuntos de dados raster bênticos. Não tenho a menor idéia de como formatar ou colocar lado a lado um mapa básico para uso no google maps, mas talvez algo como isto ou até mesmo isso seja de alguma ajuda para você.

Boa sorte com isso.

rec.thegeom
fonte
1
Se você deseja criar seu próprio mapa base do hillshade, consulte grass.osgeo.org/wiki/Global_datasets#Elevation_data para obter algumas idéias sobre onde procurar dados.
mattwigway
1

Esta questão foi abordada no Centro de Mapeamento da ESRI

Citei as seções relevantes da resposta abaixo:

Primeiro, faça uma conexão do servidor ArcGIS através do ArcCatalog com o servidor ArcGIS Online usando este URL . Ele listará todos os mapas base como serviços de mapa.

Em seguida, crie um geodatabase de arquivo no seu computador e anote o local. Crie um conjunto de dados do mosaico. Ao criar o conjunto de dados em mosaico, defina o sistema de coordenadas projetado como WGS84 Web Mercator (Esfera Auxiliar), porque esse é o uso dos mapas base da Esri da projeção. Depois de concluído, clique com o botão direito do mouse no conjunto de dados do mosaico e clique em Adicionar Rasters - uma ferramenta Adicionar Rasters ao conjunto de dados do mosaico será aberta. Sob o tipo de varredura, selecione "serviços da web" e, em Entrada, navegue até os Servidores GIS adicionados na primeira etapa e selecione o serviço de mapa base que deseja converter em escala de cinza. Nesse caso, adicionei o serviço "World_Topo_Map". Clique em OK e isso adicionará o serviço de mapa topográfico mundial ao conjunto de dados em mosaico e será adicionado ao índice como uma varredura de três bandas.

Agora clique com o botão direito do mouse no conjunto de dados do mosaico no ArcCatalog e clique em Propriedades. Clique na guia Funções na caixa de diálogo Propriedades, clique com o botão direito do mouse na função Mosaico na cadeia de funções e passe o mouse sobre o mouse para selecionar Inserir e, em seguida, selecione a função Escala de cinza. Isso abrirá a caixa de diálogo de propriedades da função Raster. Dê pesos de 0,33 a cada banda e clique em OK. Agora você deve estar pronto e o mapa base será exibido em escala de cinza.

Danielle
fonte
0

Vejo que você encontrou uma solução com o mapa de escala de cinza da ESRI e lembro que o mapa de desenvolvimento inicial parecia tão bom!

Para qualquer pessoa que possa se deparar com essa pergunta, achei o Snazzy maps www.snazzymaps.com uma maneira fácil de personalizar um estilo do Google Maps. Eu não conseguia ter a mesma aparência que o mapa de sementes de desenvolvimento, mas eu deveria obter algo próximo, acho que https://snazzymaps.com/style/65225/development-seed-look-alike

Andrew Jeffrey
fonte