Vai al contenuto

google maps con più tappe

Featured Replies

Inviato

Ciao a tutti, sapete come inserire mappe google con più tappe? Se aggiungo itinerari e poi condivido la mappa in un post prende solo il primo itinerario. Ad esempio Genova Spezia e Ritorno prende solo Genova Spezia  

grazie

Gianluca

  • BomAle ha cambiato il titolo in google maps con più tappe
Inviato

Sembra che allo stato attuale legga solo la partenza e la prima coordinata

if ( preg_match( '/^https:\/\/[a-z]+?\.?google(' . implode( '|', array_map( 'preg_quote', $googleTLDs ) ) . ')\/maps\/(.+)/i', (string) $url, $matches ) )
{
	/* Extract the address and gps coordinates from the query string */
	$qbits = explode( "/", $matches[2] );
	switch ( $qbits[0] )
	{
		case 'place':
			/* This seems odd but sometimes the place names can already be url encoded and we don't want to double encode */
			return \IPS\Theme::i()->getTemplate( 'embed', 'core', 'global' )->googleMaps( urlencode( urldecode( $qbits[1] ) ), 'place' );
			break;
		case 'dir':
			$params = array( 'origin' => $qbits[1], 'destination' => $qbits[2] );
			return \IPS\Theme::i()->getTemplate( 'embed', 'core', 'global' )->googleMaps( $params, 'dir' );
			break;
		case 'search':
			return \IPS\Theme::i()->getTemplate( 'embed', 'core', 'global' )->googleMaps( urlencode( urldecode( $qbits[1] ) ), 'search' );
			break;
		default:
			$params = explode( ",", mb_substr( $qbits[0], 1, -1 ) );
			$coordinates = implode( "," , array( $params[0], $params[1]) );
			return  \IPS\Theme::i()->getTemplate( 'embed', 'core', 'global' )->googleMaps( $coordinates, 'coordinates', $params[2] );
			break;
	}
}

vedi la parte "dir"

bisogna segnalarlo se non già fatto notare

http://sandbox.onlinephpfunctions.com/code/62831dd715d684d16d5be3fd34a46568f503da5f

array(2) {
  ["origin"]=>
  string(20) "45.5237975,9.2441023"
  ["destination"]=>
  string(20) "45.5315843,9.2406691"
}
array(6) {
  [0]=>
  string(3) "dir"
  [1]=>
  string(20) "45.5237975,9.2441023"
  [2]=>
  string(20) "45.5315843,9.2406691"
  [3]=>
  string(20) "45.5317054,9.2683204"
  [4]=>
  string(25) "@45.5285048,9.2371835,14z"
  [5]=>
  string(31) "data=!3m1!4b1!4m2!4m1!3e2?hl=it"
}

 

Per favore accedi per lasciare un commento

Potrai lasciare un commento dopo aver effettuato l'accesso

Accedi Ora

Chi sta navigando 0

  • Nessun utente registrato visualizza questa pagina.

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.