diff options
author | Warwick Allison <warwick.allison@nokia.com> | 2010-02-04 04:56:50 (GMT) |
---|---|---|
committer | Warwick Allison <warwick.allison@nokia.com> | 2010-02-04 04:56:50 (GMT) |
commit | 7fec7ff568659c3816ce26d2d82d59dd372f1166 (patch) | |
tree | c2546e401f13ba5c55e3311744d83fa68e46f165 /examples/declarative/webview/content/Mapping | |
parent | 5783f98ce5e243afbbd4c6a68c80d2dd959520e0 (diff) | |
parent | f7dfce110c96ef33200abf2dd93b86d3853095e5 (diff) | |
download | Qt-7fec7ff568659c3816ce26d2d82d59dd372f1166.zip Qt-7fec7ff568659c3816ce26d2d82d59dd372f1166.tar.gz Qt-7fec7ff568659c3816ce26d2d82d59dd372f1166.tar.bz2 |
Merge branch 'kinetic-declarativeui' of git://git-nokia.trolltech.com.au/qtsoftware/qt/kinetic
Conflicts:
src/xmlpatterns/type/qprimitives_p.h
tools/linguist/lupdate/main.cpp
Diffstat (limited to 'examples/declarative/webview/content/Mapping')
-rw-r--r-- | examples/declarative/webview/content/Mapping/Map.qml | 20 | ||||
-rwxr-xr-x | examples/declarative/webview/content/Mapping/map.html | 47 |
2 files changed, 67 insertions, 0 deletions
diff --git a/examples/declarative/webview/content/Mapping/Map.qml b/examples/declarative/webview/content/Mapping/Map.qml new file mode 100644 index 0000000..aae6b5d --- /dev/null +++ b/examples/declarative/webview/content/Mapping/Map.qml @@ -0,0 +1,20 @@ +import Qt 4.6
+
+Item {
+ id: page
+ property real latitude: -34.397
+ property real longitude: 150.644
+ property string address: ""
+ WebView {
+ id: map
+ anchors.fill: parent
+ url: "map.html"
+ javaScriptWindowObjects: QtObject {
+ WebView.windowObjectName: "qml"
+ property real lat: page.latitude
+ property real lng: page.longitude
+ property string address: page.address
+ onAddressChanged: {map.evaluateJavaScript("goToAddress()")}
+ }
+ }
+}
diff --git a/examples/declarative/webview/content/Mapping/map.html b/examples/declarative/webview/content/Mapping/map.html new file mode 100755 index 0000000..8afa21c --- /dev/null +++ b/examples/declarative/webview/content/Mapping/map.html @@ -0,0 +1,47 @@ +<html>
+<head>
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
+<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+<script type="text/javascript">
+ var geocoder
+ var map
+ function goToLatLng(latlng,bounds) {
+ if (map) {
+ map.setCenter(latlng)
+ map.fitBounds(bounds)
+ } else {
+ var myOptions = {
+ zoom: 8,
+ center: latlng,
+ mapTypeId: google.maps.MapTypeId.ROADMAP
+ };
+ map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
+ }
+ }
+ function initialize() {
+ geocoder = new google.maps.Geocoder();
+ if (window.qml.address) {
+ goToAddress()
+ } else {
+ goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
+ }
+ }
+ function goToAddress() {
+ if (geocoder) {
+ var req = {
+ address: window.qml.address,
+ }
+ if (map)
+ req.bounds = map.getBounds()
+ geocoder.geocode(req, function(results, status) {
+ if (status == google.maps.GeocoderStatus.OK)
+ goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
+ });
+ }
+ }
+</script>
+</head>
+<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
+ <div id="map_canvas" style="width:100%; height:100%"></div>
+</body>
+</html>
|