Sono nuovo a DART. È possibile utilizzare l'API JavaScript di Google Maps su DART? Se non è direttamente possibile ora, esiste un altro modo alternativo?Google Maps e DART
risposta
È ora possibile utilizzare google_maps package disponibile su pub. Questa libreria ti consente di utilizzare l'API JavaScript di Google Maps da script di dart.
Basta aggiungere la dipendenza al pubspec.yaml
dependencies:
google_maps: ">=1.0.1 <2.0.0"
Includere il Maps API JavaScript utilizzando un tag <script>
.
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
Quindi è possibile utilizzare Google Maps da script dardo. Ecco un semplice exemple:
import 'dart:html';
import 'package:google_maps/google_maps.dart';
void main() {
final mapOptions = new MapOptions()
..zoom = 8
..center = new LatLng(-34.397, 150.644)
..mapTypeId = MapTypeId.ROADMAP
;
final map = new GMap(query("#map_canvas"), mapOptions);
}
L'ho provato, ma l'importazione mi dà un messaggio di errore "Direttiva fuori servizio". Qualche indizio sul perché lo sta facendo? – Stan
Funziona bene con r14458. –
Grazie, ma sono bloccato a utilizzare 13851 e credo sia il problema. Ho trovato la sintassi corretta però: '#import ('pacchetto: js/js.dart', prefisso: 'js');', potrebbe aiutare ancora qualcuno. – Stan
Attualmente è necessario utilizzare postMessage da Dart se si desidera comunicare con JavaScript (questo alla fine cambierà). Quindi per ora è necessario aggiungere del codice JavaScript per la vostra applicazione che media i messaggi da e per Google maps JS API e Dart:
function googleMapsCallback(s) {
window.postMessage(JSON.stringify(s), '*');
}
E poi nel codice Dart:
class GoogleMap {
GoogleMap() {
window.on.message.add(received, false);
}
received(MessageEvent e) {
var data = JSON.parse(e.data);
// do stuff with google maps data
}
}
Alternativly è possibile utilizzare Google Maps REST API direttamente da Dart utilizzando XMLHttpREquest
Grazie. Inizialmente pensavo solo all'utilizzo dell'API REST di Google Maps. – 18bytes
Dart ha ora una libreria JavaScript interoperabilità: http://www.dartlang.org/articles/js-dart-interop/
Uno degli esempi su quella pagina è come interagire con Google Apps.
18 byte, la risposta a questa domanda è cambiata. Ti dispiacerebbe spostare anche il segno di spunta verde? Grazie! –