Jestem nowy w DART. Czy można korzystać z interfejsu API Map Google w JavaScript na DART? Jeśli nie jest to teraz możliwe bezpośrednio, czy istnieje inna alternatywna metoda?Google Maps i DART
Odpowiedz
Możesz teraz użyć google_maps package dostępnego pod pub. Ta biblioteka umożliwia korzystanie z interfejsu API Map Google Maps ze skryptów dart.
Wystarczy dodać zależność do pubspec.yaml
dependencies:
google_maps: ">=1.0.1 <2.0.0"
Dołącz Maps API JavaScript używając <script>
tag.
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
Następnie można użyć Google Maps ze skryptów dart. Oto prosty 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);
}
Próbowałem, ale "import" daje mi komunikat o błędzie "Dyrektywa nieczynna". Jakieś wskazówki, dlaczego to robi? – Stan
Działa to dobrze z r14458. –
Dzięki, ale utknąłem w użyciu 13851 i myślę, że to jest problem. Znalazłem jednak odpowiednią składnię: '#import ('package: js/js.dart', prefiks: 'js');', może pomóc komuś. – Stan
Obecnie musisz użyć postMessage z Dart, jeśli chcesz komunikować się z JavaScript (to się ostatecznie zmieni). Więc teraz trzeba dodać trochę kodu JavaScript w swojej aplikacji, który pośredniczy w wiadomości do i od Google maps API JS i dart:
function googleMapsCallback(s) {
window.postMessage(JSON.stringify(s), '*');
}
a następnie w kodzie 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 możesz użyć Google Maps REST API bezpośrednio z Dart przy użyciu XMLHttpREquest
Dzięki. Myślałem tylko o początkowym korzystaniu z interfejsu REST API Map Google. – 18bytes
Dart ma teraz JavaScript interoperacyjności Biblioteka: http://www.dartlang.org/articles/js-dart-interop/
jeden z przykładów na tej stronie jest to, jak współpracować z Google Apps.
18 bajtów, odpowiedź na to pytanie się zmieniła. Czy mógłbyś również przesunąć zielony znacznik wyboru? Dzięki! –