Domanda

Attualmente sto facendo un'applicazione di tracciamento e sto utilizzando la tabella di fusione di Google Maps per visualizzare i dati geocodificati. È molto veloce e facile da usare, ma sto riscontrando alcuni problemi per ingrandire la mappa in base a dove l'utente fa clic su un link JavaScript esterno. Sto usando i dati di Royal Mail per visualizzare i poligoni a seconda del punto di interesse degli utenti e ora devo essere in grado di visualizzare la finestra di informazioni in base all'evento cliccata generata da un collegamento esterno. Posso ottenere il latlng dall'area che l'utente desidera visualizzare e generare la mia finestra di informazioni, ma non è sempre al centro del poligono.

Le mie domande ora sono:

Esiste un modo in cui posso attivare la finestra Informazioni predefinite dalle tabelle di fusione facendo clic sul collegamento JavaScript esterno?

Posso centrare e ingrandire la mappa in base alla scelta degli utenti di area interrogando le tabelle di fusione?

Apprezzerei se un corpo conosce la soluzione o mi fornisca alcuni suggerimenti su come posso ottenere questa funzionalità nella mia applicazione.

Grazie Bikash

È stato utile?

Soluzione

Bene, abbastanza a lungo da quando ho posto la domanda, ho pensato che sarebbe stato meglio se potessi rispondere almeno alle soluzioni, ovviamente non ho trovato la soluzione ma ho raggiunto ciò di cui avevo bisogno con alcune tecniche:

La risposta alla mia prima domanda è no, non esiste un metodo predefinito o integrato per l'applicazione per aprire un infowindow in un livello di fusione di Google Maps dal collegamento esterno, ma se ne hai bisogno, è un semplice trucco, sul tuo database o almeno Sulle tabelle di fusione devi avere il contenuto di Infowindow e in base a dove l'utente fa clic su un livello è possibile creare un ascoltatore che ottiene l'ID riga del livello e ottenga il contenuto di Infowindow e visualizzarlo su LAT, a lungo che desideri

listener=google.maps.event.addListener(layer, 'click', function(e){
var rowId= e.row['id'].value ;
//use rowId to query fusion tables or your database and display results to the user
//simple ajax should be able to handle this 
});

La risposta alla mia seconda domanda è di nuovo no, ma ci sono anche diverse soluzioni per questo, una tecnica che ho seguito è:

Consenti a SiteAdmin di risparmiare sul database il livello centrale e zoom per ciascuna area in cui l'utente può eseguire la propria query, in seguito quando l'utente esegue qualsiasi query che necessita di mappa da centrare, basta utilizzare il livello centrale di latlng e zoom impostato da le mappe dell'amministratore e di visualizzazione.

È così che ho raggiunto ciò di cui avevo bisogno, se qualcuno ha una soluzione diretta, sarebbe fantastico, ma ci sono sempre soluzioni per svolgere un compito.

Grazie Bikash

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top