Mapas personalizados
Você pode adicionar suas próprias camadas de mapa personalizadas à plataforma Navixy, o que pode ser particularmente útil para rastrear veículos em áreas restritas que estão desfocadas ou não são exibidas em mapas disponíveis publicamente, ou para adicionar rotas personalizadas que não existem em outros mapas (por exemplo, rotas marítimas).
Existem dois tipos de camadas que podem ser adicionadas ao Navixy:
Camada de um servidor de tiles
Camada a partir de um arquivo SVG
Adicionando um servidor de tiles como camada de mapa personalizada
Uma vez que o servidor de tiles esteja em funcionamento e os dados cartográficos tenham sido carregados, você pode facilmente adicionar novas camadas de mapa na interface do Navixy. Será necessário habilitar o plugin apropriado para cartografia externa e fornecer a ele a URL do seu servidor de tiles. Você também pode restringir o acesso à nova camada de mapa a determinadas contas de usuário.
Após a ativação do plugin, a nova camada aparecerá na lista de camadas disponíveis na interface web do usuário e/ou nos aplicativos móveis. Os usuários poderão selecionar cada camada separadamente (modo substituição) ou combinar múltiplas camadas (modo sobreposição).
A aplicação possui dois parâmetros:
%name – Nome da aplicação
%link_to_the_tiles – Link externo para os tiles
Depois de ter os dados necessários, você precisa apenas adicionar uma linha ao seu banco de dados MySQL. Camadas de mapa podem ser adicionadas ao serviço inteiro (também conhecido como conta Dealer PaaS) ou apenas a usuários específicos.
Habilitando a camada para todo o serviço (para todas as contas de usuário)
Para adicionar uma nova camada de mapa ao serviço Navixy inteiro, use a seguinte query e forneça os parâmetros marcados em negrito:
INSERT INTO google.plugins2dealers (dealer_id, plugin_id, parameters) VALUES (1, 50, '{"layers":[{"name":"%name","tiles":["%link_to_the_tiles"]}]}');Habilitando a camada apenas para contas de usuário selecionadas
Ao adicionar uma camada de mapa a um usuário específico, um novo parâmetro (%user_id) deve ser incluído na requisição. Esse parâmetro deve ser substituído pelo ID do usuário ao qual a camada de mapa deve ser adicionada. Se a camada precisar ser adicionada a vários usuários, uma requisição separada deve ser feita para cada usuário.
INSERT INTO google.plugins2users (user_id, plugin_id, parameters) VALUES (%user_id, 50, '{"layers":[{"name":"%name","tiles":["%link_to_the_tiles"]}]}');Adicionando um arquivo SVG como camada de mapa personalizada
A plataforma Navixy permite adicionar arquivos SVG como camada de mapa, o que pode ser particularmente útil para exibir contornos de áreas de difícil acesso, como minas ou canteiros de obra.
Ao adicionar uma camada de mapa personalizada à plataforma Navixy, os três parâmetros a seguir devem ser configurados para a aplicação:
%name: o nome da camada de mapa
%link_to_the_layer: um link externo para a camada
%lat1, %lng1, %lat2, %lng2: as coordenadas de quaisquer cantos opostos da camada
Se você estiver usando uma conexão HTTPS para sua plataforma Navixy, é importante garantir que quaisquer links para aplicativos ou recursos externos também sejam HTTPS. Caso contrário, você poderá encontrar um erro de conteúdo misto.
Habilitando a camada SVG para todo o serviço (para todas as contas de usuário)
INSERT INTO google.plugins2dealers (dealer_id, plugin_id, parameters) VALUES (1, 83, '{"layers":[{ "name": "%name","url":"%link_to_the_layer","bounds":[{"lat":%lat1,"lng":%lng1},{"lat":%lat2,"lng":%lng2}]}]}');Habilitando a camada SVG apenas para contas de usuário selecionadas
Para adicionar uma camada de mapa a um usuário específico no Navixy, você deve incluir um novo parâmetro (%user_id) na requisição. Esse parâmetro deve ser substituído pelo ID do usuário para o qual a camada de mapa se destina. Se a camada de mapa precisar ser adicionada a vários usuários, uma requisição separada deve ser feita para cada usuário.
INSERT INTO google.plugins2users (user_id, plugin_id, parameters) VALUES (%user_id, 83, '{"layers":[{ "name": "%name","url":"%link_to_the_layer","bounds":[{"lat":%lat1,"lng":%lng1},{"lat":%lat2,"lng":%lng2}]}]}');Atualizado
Isto foi útil?