From fcefff62b16a052b5fb94d3e9625ee565d8883c9 Mon Sep 17 00:00:00 2001 From: wf9a5m75 Date: Mon, 9 Mar 2015 13:15:15 -0700 Subject: [PATCH 1/5] Implement "touchstart", "touchend", "touchline", "touch move", and "touchcancel" events for Android (#214, #218) --- .../plugin/google/maps/MyPluginLayout.java | 68 +++++++++++++++---- www/googlemaps-cdv-plugin.js | 8 ++- 2 files changed, 63 insertions(+), 13 deletions(-) diff --git a/src/android/plugin/google/maps/MyPluginLayout.java b/src/android/plugin/google/maps/MyPluginLayout.java index 8c5888b9c..f206aab4a 100644 --- a/src/android/plugin/google/maps/MyPluginLayout.java +++ b/src/android/plugin/google/maps/MyPluginLayout.java @@ -14,6 +14,7 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; +import android.graphics.Point; import android.graphics.RectF; import android.os.Build; import android.os.Build.VERSION; @@ -26,6 +27,10 @@ import android.widget.LinearLayout; import android.widget.ScrollView; +import com.google.android.gms.maps.MapView; +import com.google.android.gms.maps.Projection; +import com.google.android.gms.maps.model.LatLng; + @SuppressWarnings("deprecation") public class MyPluginLayout extends FrameLayout { private CordovaWebView webView; @@ -34,10 +39,9 @@ public class MyPluginLayout extends FrameLayout { private Context context; private FrontLayerLayout frontLayer; private ScrollView scrollView = null; - private FrameLayout scrollFrameLayout = null; + private TouchableWrapper scrollFrameLayout = null; private View backgroundView = null; - private TouchableWrapper touchableWrapper; - private ViewGroup myView = null; + private MapView myView = null; private boolean isScrolling = false; private ViewGroup.LayoutParams orgLayoutParams = null; private boolean isDebug = false; @@ -67,14 +71,14 @@ public MyPluginLayout(CordovaWebView webView, Activity activity) { backgroundView.setHorizontalScrollBarEnabled(false); backgroundView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 9999)); - scrollFrameLayout = new FrameLayout(this.context); + scrollFrameLayout = new TouchableWrapper(this.context); scrollFrameLayout.addView(backgroundView); scrollFrameLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); scrollView.setHorizontalScrollBarEnabled(false); scrollView.setVerticalScrollBarEnabled(false); - this.touchableWrapper = new TouchableWrapper(this.context); + //this.touchableWrapper = new TouchableWrapper(this.context); } @@ -180,7 +184,6 @@ public void detachMyView() { frontLayer.removeView(webView); scrollFrameLayout.removeView(myView); - myView.removeView(this.touchableWrapper); this.removeView(this.scrollView); this.scrollView.removeView(scrollFrameLayout); @@ -193,19 +196,19 @@ public void detachMyView() { mActivity.getWindow().getDecorView().requestFocus(); } - public void attachMyView(ViewGroup pluginView) { + public void attachMyView(MapView mapView) { scrollView.setHorizontalScrollBarEnabled(false); scrollView.setVerticalScrollBarEnabled(false); scrollView.scrollTo(webView.getScrollX(), webView.getScrollY()); - if (myView == pluginView) { + if (myView == mapView) { return; } else { this.detachMyView(); } //backgroundView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, (int) (webView.getContentHeight() * webView.getScale() + webView.getHeight()))); - myView = pluginView; + myView = mapView; ViewGroup.LayoutParams lParams = myView.getLayoutParams(); orgLayoutParams = null; if (lParams != null) { @@ -215,8 +218,7 @@ public void attachMyView(ViewGroup pluginView) { scrollView.addView(scrollFrameLayout); this.addView(scrollView); - pluginView.addView(this.touchableWrapper); - scrollFrameLayout.addView(pluginView); + scrollFrameLayout.addView(mapView); frontLayer.addView(webView); this.addView(frontLayer); @@ -247,7 +249,7 @@ public void inValidate() { this.frontLayer.invalidate(); } - + private class FrontLayerLayout extends FrameLayout { public FrontLayerLayout(Context context) { @@ -255,6 +257,10 @@ public FrontLayerLayout(Context context) { this.setWillNotDraw(false); } + /** + * True if the touch event should be received by MapView. + * False, the event is received by WebView. + */ @Override public boolean onInterceptTouchEvent(MotionEvent event) { if (isClickable == false || myView == null || myView.getVisibility() != View.VISIBLE) { @@ -338,6 +344,44 @@ public TouchableWrapper(Context context) { super(context); } + @Override + public boolean onInterceptTouchEvent(MotionEvent event) { + if (isClickable == false || myView == null || myView.getVisibility() != View.VISIBLE) { + webView.requestFocus(View.FOCUS_DOWN); + return false; + } + String eventName = null; + switch(event.getAction()) { + case MotionEvent.ACTION_DOWN: + eventName = "touchstart"; + break; + case MotionEvent.ACTION_MOVE: + eventName = "touchmove"; + break; + case MotionEvent.ACTION_UP: + eventName = "touchend"; + break; + case MotionEvent.ACTION_CANCEL: + eventName = "touchcancel"; + break; + case MotionEvent.ACTION_OUTSIDE: + eventName = "touchleave"; + break; + default: + break; + } + int x = (int)event.getX() - myView.getLeft(); + int y = (int)event.getY() - myView.getTop(); + Projection projection = myView.getMap().getProjection(); + Point point = new Point(x, y); + LatLng latLng = projection.fromScreenLocation(point); + webView.loadUrl( + String.format("javascript:plugin.google.maps.Map._onTouchEvent('%s', [%d, %d], new window.plugin.google.maps.LatLng(%f, %f));", + eventName, x, y, latLng.latitude, latLng.longitude)); + + return false; + } + @Override public boolean dispatchTouchEvent(MotionEvent event) { int action = event.getAction(); diff --git a/www/googlemaps-cdv-plugin.js b/www/googlemaps-cdv-plugin.js index e6dc59fb9..66454e18a 100644 --- a/www/googlemaps-cdv-plugin.js +++ b/www/googlemaps-cdv-plugin.js @@ -222,6 +222,12 @@ App.prototype._onKmlEvent = function(eventName, kmlLayerId, result, options) { } }; +/** + * Callback from Native + */ +App.prototype._onTouchEvent = function(eventName, point, latLng) { + this.trigger(eventName, point, latLng); +}; /** * Callback from Native */ @@ -250,7 +256,7 @@ App.prototype._onMyLocationChange = function(params) { */ App.prototype._onCameraEvent = function(eventName, params) { var cameraPosition = new CameraPosition(params); - this.trigger(eventName, cameraPosition, this); + this.trigger(eventName, cameraPosition); }; From 5b9426a9f1d6008470f727dc5de57f57c1c8abd2 Mon Sep 17 00:00:00 2001 From: wf9a5m75 Date: Mon, 9 Mar 2015 13:15:23 -0700 Subject: [PATCH 2/5] Temporally save --- www/index.html | 15 +++++++++++++++ www/js/example.js | 23 ++++++++++++++++++++++- www/pages/test.html | 4 ++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 www/pages/test.html diff --git a/www/index.html b/www/index.html index 117309b28..1f1619315 100644 --- a/www/index.html +++ b/www/index.html @@ -12,6 +12,21 @@ +
diff --git a/www/js/example.js b/www/js/example.js index 05e3f25b3..cdeb8f402 100644 --- a/www/js/example.js +++ b/www/js/example.js @@ -29,8 +29,14 @@ $(document).on("deviceready", function() { map.on(plugin.google.maps.event.MAP_READY, onMapReady); }); +$("body").on("touchstart", function() { + console.log("touchstart on body"); +}); +$("body").on("touchend", function() { + console.log("touchend on body"); +}); function onMapReady() { - loadPage("welcome"); + loadPage("test"); } function loadPage(tmplName, params) { @@ -41,6 +47,21 @@ function loadPage(tmplName, params) { map.off(); +map.on("touchstart", function(point, latLng) { + console.log("touchstart, " + point + " / " + latLng); +}); +map.on("touchend", function(point, latLng) { + console.log("touchend, " + point + " / " + latLng); +}); +map.on("touchleave", function(point, latLng) { + console.log("touchleave, " + point + " / " + latLng); +}); +map.on("touchmove", function(point, latLng) { + console.log("touchmove, " + point + " / " + latLng); +}); +map.on("touchcancel", function(point, latLng) { + console.log("touchcancel, " + point + " / " + latLng); +}); prettyPrint(); // Execute the code diff --git a/www/pages/test.html b/www/pages/test.html new file mode 100644 index 000000000..28b9f4871 --- /dev/null +++ b/www/pages/test.html @@ -0,0 +1,4 @@ + \ No newline at end of file From f8ffddf6457a945906a837345de35daddac9aab2 Mon Sep 17 00:00:00 2001 From: wf9a5m75 Date: Mon, 9 Mar 2015 23:53:40 -0700 Subject: [PATCH 3/5] Temporally save --- .../UserInterfaceState.xcuserstate | Bin 48117 -> 71580 bytes src/ios/GoogleMaps/MyPluginLayer.m | 56 +++++++++++++++++- 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/platforms/ios/DevApp.xcodeproj/project.xcworkspace/xcuserdata/wf9a5m75.xcuserdatad/UserInterfaceState.xcuserstate b/platforms/ios/DevApp.xcodeproj/project.xcworkspace/xcuserdata/wf9a5m75.xcuserdatad/UserInterfaceState.xcuserstate index 973a6cf0caee5c99e1d54a483be08678ac119fa4..a38ce1a507c6728d8b2e677d31271785c4828f36 100644 GIT binary patch literal 71580 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­#8A!eF~`?vdB*P_hW-AruCk5K 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 Qc;Lw`qwa4j|07)WA4H&ye*gdg diff --git a/src/ios/GoogleMaps/MyPluginLayer.m b/src/ios/GoogleMaps/MyPluginLayer.m index 6c4e26b6b..ddd043d32 100644 --- a/src/ios/GoogleMaps/MyPluginLayer.m +++ b/src/ios/GoogleMaps/MyPluginLayer.m @@ -92,7 +92,10 @@ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { return nil; } } - return hitView; + + NSLog(@"hitClass = %@", hitView); + return self; + //return hitView; } return [super hitTest:point withEvent:event]; @@ -139,5 +142,56 @@ - (void)drawRect:(CGRect)rect CGContextFillRect(context, rectangle); } +/** +http://abi.exdream.com/post/2010/03/18/iPhone-How-to-pass-touch-events-from-UIScrollView-to-the-parent-UIViewController.aspx +*/ +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + + NSLog(@"touchBegan : %f, %f", point.x, point.y); + + for (UIView *child in self.mapCtrl.view.subviews) { + NSLog(@"child = %@", child); + [child touchesEnded:touches withEvent:event]; + } +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + + NSLog(@"touchesMoved : %f, %f", point.x, point.y); + + for (UIView *child in self.mapCtrl.view.subviews) + [child touchesEnded:touches withEvent:event]; + + //[hitView touchesBegan:touches withEvent:event]; +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + NSLog(@"touchesEnded : %f, %f", point.x, point.y); + + for (UIView *child in self.mapCtrl.view.subviews) + [child touchesEnded:touches withEvent:event]; +} +- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + NSLog(@"touchesCancelled : %f, %f", point.x, point.y); + + for (UIView *child in self.mapCtrl.view.subviews) + [child touchesEnded:touches withEvent:event]; +} @end From c353eedc2f66d9ae0fa91214100663359755e224 Mon Sep 17 00:00:00 2001 From: masashiGMS Date: Tue, 10 Mar 2015 01:28:17 -0700 Subject: [PATCH 4/5] Temporally save --- .../ios/DevApp.xcodeproj/project.pbxproj | 6 ++ .../UserInterfaceState.xcuserstate | Bin 71580 -> 52075 bytes src/ios/GoogleMaps/GoogleMaps.m | 2 + src/ios/GoogleMaps/MyPluginLayer.h | 2 + src/ios/GoogleMaps/MyPluginLayer.m | 58 ++-------------- src/ios/GoogleMaps/MyPluginScrollView.h | 2 + src/ios/GoogleMaps/MyPluginScrollView.m | 3 + src/ios/GoogleMaps/MyTouchableView.h | 17 +++++ src/ios/GoogleMaps/MyTouchableView.m | 62 ++++++++++++++++++ 9 files changed, 98 insertions(+), 54 deletions(-) create mode 100644 src/ios/GoogleMaps/MyTouchableView.h create mode 100644 src/ios/GoogleMaps/MyTouchableView.m diff --git a/platforms/ios/DevApp.xcodeproj/project.pbxproj b/platforms/ios/DevApp.xcodeproj/project.pbxproj index b428f8218..8730aac4b 100644 --- a/platforms/ios/DevApp.xcodeproj/project.pbxproj +++ b/platforms/ios/DevApp.xcodeproj/project.pbxproj @@ -69,6 +69,7 @@ A046F7401A74DFDA004678D8 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D85846C38A094BD7AE0421C1 /* OpenGLES.framework */; }; A046F7411A74DFDA004678D8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3943BDD383F0494ABF86A8D1 /* QuartzCore.framework */; }; A046F7421A74DFDA004678D8 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CE5F4C8A9E143DD88320223 /* SystemConfiguration.framework */; }; + A07514851AAEDE5500068A7D /* MyTouchableView.m in Sources */ = {isa = PBXBuildFile; fileRef = A07514841AAEDE5500068A7D /* MyTouchableView.m */; }; A0A6C8B519DE8B61006FA408 /* CDVLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 2642A164D871458CAA0E7CD2 /* CDVLogger.m */; }; A0B15AF119D406AE00CECFE9 /* plugin.xml in Resources */ = {isa = PBXBuildFile; fileRef = A0B15AF019D406AD00CECFE9 /* plugin.xml */; }; A0C8C25419D11E8B00E46F7E /* MyPluginScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = A0C8C25319D11E8B00E46F7E /* MyPluginScrollView.m */; }; @@ -188,6 +189,8 @@ 8D1107310486CEB800E47090 /* DevApp-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "DevApp-Info.plist"; path = "../DevApp-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; 94B42436A54042BB8390247A /* HttpRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HttpRequest.h; path = plugin.http.request/HttpRequest/HttpRequest.h; sourceTree = ""; }; 9D0482B04E60450894AB403B /* libz.dylib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + A07514841AAEDE5500068A7D /* MyTouchableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyTouchableView.m; path = ../../../../src/ios/GoogleMaps/MyTouchableView.m; sourceTree = ""; }; + A07514871AAEDF8F00068A7D /* MyTouchableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyTouchableView.h; path = ../../../../src/ios/GoogleMaps/MyTouchableView.h; sourceTree = ""; }; A0B15AF019D406AD00CECFE9 /* plugin.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = plugin.xml; path = ../../plugin.xml; sourceTree = ""; }; A0C8C25219D11E8B00E46F7E /* MyPluginScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyPluginScrollView.h; path = ../../../../src/ios/GoogleMaps/MyPluginScrollView.h; sourceTree = ""; }; A0C8C25319D11E8B00E46F7E /* MyPluginScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyPluginScrollView.m; path = ../../../../src/ios/GoogleMaps/MyPluginScrollView.m; sourceTree = ""; }; @@ -349,6 +352,7 @@ 307C750510C5A3420062BCA9 /* Plugins */ = { isa = PBXGroup; children = ( + A07514871AAEDF8F00068A7D /* MyTouchableView.h */, 6904C34219D0F1A3008FFD15 /* Circle.h */, 6904C34319D0F1A3008FFD15 /* Circle.m */, 6904C34419D0F1A3008FFD15 /* External.h */, @@ -395,6 +399,7 @@ 5210F5E958CC4FCFA68923E4 /* R9HTTPRequest.h */, A0C8C25519D120FC00E46F7E /* MyPluginLayerDebugView.h */, A0C8C25619D120FC00E46F7E /* MyPluginLayerDebugView.m */, + A07514841AAEDE5500068A7D /* MyTouchableView.m */, ); name = Plugins; path = DevApp/Plugins; @@ -624,6 +629,7 @@ 6904C37019D0F1A3008FFD15 /* MyPluginLayer.m in Sources */, 6904C37219D0F1A3008FFD15 /* NSData+Base64.m in Sources */, 6904C36A19D0F1A3008FFD15 /* GoogleMaps.m in Sources */, + A07514851AAEDE5500068A7D /* MyTouchableView.m in Sources */, 6904C36E19D0F1A3008FFD15 /* Map.m in Sources */, 6904C37719D0F1A3008FFD15 /* TBXML.m in Sources */, C92E8F2094FE418B921242FD /* BSD-LICENSE in Sources */, diff --git a/platforms/ios/DevApp.xcodeproj/project.xcworkspace/xcuserdata/wf9a5m75.xcuserdatad/UserInterfaceState.xcuserstate b/platforms/ios/DevApp.xcodeproj/project.xcworkspace/xcuserdata/wf9a5m75.xcuserdatad/UserInterfaceState.xcuserstate index a38ce1a507c6728d8b2e677d31271785c4828f36..fd3b263fad6056c89a2405343d7962057cbfc315 100644 GIT binary patch delta 25275 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 literal 71580 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­#8A!eF~`?vdB*P_hW-AruCk5K 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 #import +#import "MyTouchableView.h"; #import "GoogleMapsViewController.h" @interface MyPluginLayer : UIView @property (nonatomic) UIWebView *webView; @property (nonatomic) GoogleMapsViewController* mapCtrl; +@property (nonatomic) MyTouchableView* touchableView; @property (nonatomic) NSDictionary *embedRect; @property (nonatomic) BOOL debuggable; @property (nonatomic) BOOL clickable; diff --git a/src/ios/GoogleMaps/MyPluginLayer.m b/src/ios/GoogleMaps/MyPluginLayer.m index ddd043d32..242c16467 100644 --- a/src/ios/GoogleMaps/MyPluginLayer.m +++ b/src/ios/GoogleMaps/MyPluginLayer.m @@ -93,8 +93,10 @@ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { } } - NSLog(@"hitClass = %@", hitView); - return self; + self.touchableView.mapCtrl = self.mapCtrl; + + //NSLog(@"hitClass = %@", hitView); + return self.touchableView; //return hitView; } @@ -142,56 +144,4 @@ - (void)drawRect:(CGRect)rect CGContextFillRect(context, rectangle); } -/** -http://abi.exdream.com/post/2010/03/18/iPhone-How-to-pass-touch-events-from-UIScrollView-to-the-parent-UIViewController.aspx -*/ -- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event -{ - UITouch *touch = [touches anyObject]; - CGPoint point = [touch locationInView:self]; - - - NSLog(@"touchBegan : %f, %f", point.x, point.y); - - for (UIView *child in self.mapCtrl.view.subviews) { - NSLog(@"child = %@", child); - [child touchesEnded:touches withEvent:event]; - } -} - -- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event -{ - UITouch *touch = [touches anyObject]; - CGPoint point = [touch locationInView:self]; - - - NSLog(@"touchesMoved : %f, %f", point.x, point.y); - - for (UIView *child in self.mapCtrl.view.subviews) - [child touchesEnded:touches withEvent:event]; - - //[hitView touchesBegan:touches withEvent:event]; -} - -- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event -{ - UITouch *touch = [touches anyObject]; - CGPoint point = [touch locationInView:self]; - - NSLog(@"touchesEnded : %f, %f", point.x, point.y); - - for (UIView *child in self.mapCtrl.view.subviews) - [child touchesEnded:touches withEvent:event]; -} -- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event -{ - UITouch *touch = [touches anyObject]; - CGPoint point = [touch locationInView:self]; - - NSLog(@"touchesCancelled : %f, %f", point.x, point.y); - - for (UIView *child in self.mapCtrl.view.subviews) - [child touchesEnded:touches withEvent:event]; -} - @end diff --git a/src/ios/GoogleMaps/MyPluginScrollView.h b/src/ios/GoogleMaps/MyPluginScrollView.h index 81285561b..b5d96ed50 100644 --- a/src/ios/GoogleMaps/MyPluginScrollView.h +++ b/src/ios/GoogleMaps/MyPluginScrollView.h @@ -7,10 +7,12 @@ // #import +#import "MyTouchableView.h" #import "MyPluginLayerDebugView.h" @interface MyPluginScrollView : UIScrollView @property (nonatomic) MyPluginLayerDebugView *debugView; +@property (nonatomic) MyTouchableView *touchableView; - (void)attachView:(UIView *)view; - (void)dettachView; @end diff --git a/src/ios/GoogleMaps/MyPluginScrollView.m b/src/ios/GoogleMaps/MyPluginScrollView.m index 80cb8e59b..bfc65569c 100644 --- a/src/ios/GoogleMaps/MyPluginScrollView.m +++ b/src/ios/GoogleMaps/MyPluginScrollView.m @@ -16,15 +16,18 @@ - (id)initWithFrame:(CGRect)aRect { self = [super initWithFrame:aRect]; self.debugView = [[MyPluginLayerDebugView alloc] initWithFrame:aRect]; + self.touchableView = [[MyTouchableView alloc] initWithFrame:aRect]; return self; } - (void)attachView:(UIView *)view { myView = view; + [myView addSubview:self.touchableView]; [self addSubview:view]; [self addSubview:self.debugView]; } - (void)dettachView { + [self.touchableView removeFromSuperview]; [myView removeFromSuperview]; [self.debugView removeFromSuperview]; } diff --git a/src/ios/GoogleMaps/MyTouchableView.h b/src/ios/GoogleMaps/MyTouchableView.h new file mode 100644 index 000000000..a8a660898 --- /dev/null +++ b/src/ios/GoogleMaps/MyTouchableView.h @@ -0,0 +1,17 @@ +// +// MyTouchableView.h +// DevApp +// +// Created by Masashi Katsumata on 3/10/15. +// +// + +#import +#import +#import "GoogleMapsViewController.h" + +@interface MyTouchableView : UIView + +@property (nonatomic) GoogleMapsViewController* mapCtrl; +- (id)initWithFrame:(CGRect)aRect; +@end diff --git a/src/ios/GoogleMaps/MyTouchableView.m b/src/ios/GoogleMaps/MyTouchableView.m new file mode 100644 index 000000000..64ec00f9f --- /dev/null +++ b/src/ios/GoogleMaps/MyTouchableView.m @@ -0,0 +1,62 @@ +// +// MyTouchableView.m +// DevApp +// +// Created by Masashi Katsumata on 3/10/15. +// +// + + +#import "MyTouchableView.h" + +@implementation MyTouchableView + +- (id)initWithFrame:(CGRect)aRect +{ + self = [super initWithFrame:aRect]; + return self; +} + + +/** + http://abi.exdream.com/post/2010/03/18/iPhone-How-to-pass-touch-events-from-UIScrollView-to-the-parent-UIViewController.aspx + */ +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + + NSLog(@"touchBegan : %f, %f", point.x, point.y); + + [self.mapCtrl.view touchesEnded:touches withEvent:event]; +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + + NSLog(@"touchesMoved : %f, %f", point.x, point.y); + [self.mapCtrl.view touchesEnded:touches withEvent:event]; +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + NSLog(@"touchesEnded : %f, %f", point.x, point.y); + [self.mapCtrl.view touchesEnded:touches withEvent:event]; +} +- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [touches anyObject]; + CGPoint point = [touch locationInView:self]; + + NSLog(@"touchesCancelled : %f, %f", point.x, point.y); + [self.mapCtrl.view touchesEnded:touches withEvent:event]; +} + +@end From 24c94545f3fd6a0f4dfcca20cfd4f0162422b840 Mon Sep 17 00:00:00 2001 From: masashiGMS Date: Thu, 19 Mar 2015 20:10:02 -0700 Subject: [PATCH 5/5] update --- .../UserInterfaceState.xcuserstate | Bin 52075 -> 101037 bytes src/ios/GoogleMaps/GoogleMapsViewController.h | 5 ++- src/ios/GoogleMaps/GoogleMapsViewController.m | 40 ++++++++++++++++++ src/ios/GoogleMaps/Map.h | 1 + src/ios/GoogleMaps/Map.m | 31 ++++++++++++++ www/index.html | 29 +++++++------ 6 files changed, 91 insertions(+), 15 deletions(-) diff --git a/platforms/ios/DevApp.xcodeproj/project.xcworkspace/xcuserdata/wf9a5m75.xcuserdatad/UserInterfaceState.xcuserstate b/platforms/ios/DevApp.xcodeproj/project.xcworkspace/xcuserdata/wf9a5m75.xcuserdatad/UserInterfaceState.xcuserstate index fd3b263fad6056c89a2405343d7962057cbfc315..bcfc2f1e6e25098fb0e0433962b8a7bec69f947a 100644 GIT binary patch literal 101037 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 zteôv;RI@QYCjbp6StkbPCtZxaWwovK_rLIt3jj{3y3ig~iLaC=6jI`@<{*3jB zb#Y%#27mCbjXy45c=9zB>HgHmQ#_Hr#K5}58ku^uwk{J&gVeQd>q=`>#$$7gm0#Y8 zwXU|tTH~y1tZS|DLU~OnuM4G-P#Oz<(_LvAYfZ578$9%KlXbIDnhB*vN>^J6rM0#f z{d>w0p7ZjJ=f6$kiL__VT=G)_>mDo1Fv+jmuZONJdJ5%Dp>T)|5K5p> zdJCnGQ2Gj`pHTX*v$<_P+Sy3EmbT@y<+l~E6|`|K9w3x~>53DS$wEmG3b%Skgz}BH zm%YH-D*hX_3QsRecv>aJQ>z-DEKaahuvN^k57?^Ms<98)IJgdqvQ-yKkd}@=RUlxi zZR2VsNa16!k~6bRTFGdxX&!XJ`wqcbu2`LV4zk9lk@gc6+kn8()I z)|va$7x^n%Q-50*TUT2*o4-Dvt%p`1po9n|Oeo`p5-#{FT7};ZO+FIXdfECus|vu@ z&(>cmZW}0+P@xRv^gGisb9gZ4#bzYSYK`|YyI<+R`5%35y+en_x*}`q3Y@>xTQYifAnA8)!&EF;{0-%q|D9?%h z4<6zevi;$sJKHqx`F*VS{GRdAoo%LPMMU9`c04O0p@F;*gkKr@TaOYvi7VBsZ?F1& zdJO6v;C)kdvw&d%1JeJox^1RstwRx>i+S5(ZBi`}3V(Z=;mnctcf2W+V!4gAiYOa* zYY|blD4|UG^LxT-8$aZfvL~z&%G9(ex6a0r#VT8ZZM|)SP^JlGx=?1UvTb5d*di33 zXR#;5{|)5{wq066b_?b0w7qPfjh{%0v+cJXupP7=vK_V^u^ko4OrgvY%50%<1vXbG z^Mo=#&X#C9ZaZN+nQNQvv@J;}3xu*zD5NY-D^F19GJntazxJ+}=awhf-nV_o@xXT3 zcE$FA?W#}~31zWRm^DjdY#-UKaXjGaAW|sHJja9O|3}IbY+u{H;W+f2b{twQlqk<} zXyw0f9OA_ft8BMyw{3TX5-pTfLWxN|4*kpJ3HF!02bkEuYsvM$RGwge*?WA7^&Fq< zIoTcUxrDOrxr=*tlbt_J)&8*fs@-b0B`@wN>xHr*#_q5?bLO)15ND%Mwh0#ZlpTL& zanGLDUWjem^V##;3)q=2n}os*2}h=_|BH)z_OkZ!9BA$3gtGkw7WeE`?Ak?+ch$mP zT`2rkuQ&U(SfQ}jw$~BLE}`s6y~elKvp39m9d3~AuWO5Y%5LpCJmcb?y{WxI5e@V5-nc0W5;E(e5iC@mO&d(TXpFKh3m)rTqv zwasVz8(@1Md;d(Iu5KTw)rTsFwNEGi#c%RS&pyP??;AzigSFEh$NY$B`%wEZp&S!R z;vbc~*u(8(GM2p9$J)8pIWCkBQ_p$!3HFGmob&8cq=I%%fV=>ibKVEZSAX`mcywZa zTPP>fIzHR3t>wJPdC9)SzSJIRUzV$heT99cP)-Tuv{2p=%KL(n7v-{0u4rfTXOz6y zW9)06b^N!-+t*3O?d)Zo?#_6Q|7Xdg_k~5zeS4REt9@H?$%}GPDCal?^9U%p@7b$tMC)!W&d2h*!{iIOd)B5^nOJ3|}yvJYu zTKAt&@?t;ZJy!ISD#n%V*kj_+bf^AP_uu=q`fYbk35t1tCUH5Q#*Qp zDU@qzgZGX7_6ts0TcZ7E`(5o~%Dy7`V(Md|e4cVK#iZq8DrHA~Q`GUYBa2kr z!9xJ9Qa<%e(a%z+=!=!SII=r(q+BY{o$INW3ZCpajGXu#CWqN!5y}mrd?A#Z|EUwd zx4|Oh)lpO^UqAb-m|7a)C@FPtl%_O7xuZQ^|Uz+16sg*`JDtbyI6#nRwqtAEg zN+TSV9aU0p*lr7jzZ(2jDB2C1H<+4Q?`t_~J2*}JAe0}4@>6Q>Gu?ju;r*4PiTD1B zzfFCzG$P~uRff_CN1Jq|5z5c$OCuZ|wM3Ps*QpcG(Z$i5)ksHIM>mJRqr0Prqo?Cd zN3ZOU96T=hMJT@t<(^RP3*~`O9t!1=P+0Zm_V_nXX+-wl9sL~x90MJ^>o|w%(C*M# z=*==gD8CC;5o(Z7!?YR3&+MopwZqImr8FYrs~D2^I>%^-_Buqz7@5SzLj-`%O9Bmwtj%AMJjunoTjwna8P*tI373wQO%_h|BLd_x6oNl7u~(>ip&Ep0 z6sk$6W}#YyYW2K*!Eul$iD_?NP;JT84$OaT8oWrgz>EA+&Qr=JwCC}ef7Rx{`1S?I z+4SWOj&~ir;3(d4-f_Y4p5vn9lH+~HWyclA2ac;kbqLidRF_cQLiG`9ZlU@LHIGp9 z3N>H6<0Gk{<70g4;B?CW<#&7`)co4vP%Ys3&q6{i>^VAWM;+Dk*Qfu#+~L1i?%?>@ zQ|_QrKe=6`{;ZAT{xi!R9FHk?P>ZCMJ2-j6L29{!GmBGZb;hX^YOyFMr<3A;Q10N& z=FFb5Yc z3PP_hdts4We(b+dWO}NCrT%r z8=X6}$sj9VCVOg zLpXnM{^s=OgFunLd5l^^%|* zLJieEov|FkCA+d_`t)b6Y+5;ls;$Xp+O{i~ix(S2yYw#peYj9Z{2R+5lCLma4p%|S z6I@Q0%jI_YxN^IEU3px2UHM%3T?K?1F4R#%O`SVTIVX{ zD(tDD=Gxa)!d22$%2nFMMG1F|Gqm#`H`-dIuTUd}dPJxU!2_W_)TaH@mi+%41qn|r zGx*Ct0rF&hf~%IR4s+1^aNNaZLqzf%bk*nP+SS0txps@1LxVaP@G# z$tJunPjGRVo0 zxtV>D+6cXmYpiRWK96gB${WVjIYM2ayrOqVVY6>EGjBrE=9wRS~WQ-uHOBmI!qb@1o_jubuuEroK-4sqgVl z_X2OvvB(vzC1RCOmp*Mhze>4EsjnMw#Zl|b=&cdzvM3i1JeL3Y(c9qSmzz>XZ?jPO ziQJSlZFB8n^jzCrJ6z1Ql|qdYYV<1CZbomfP*-_I@6g|{p6@!WC4{4ewiN4qXQ(UD z#hE3}b=-Brb<%apb=sBW;w-aTsIfxj>`g}23YCnki*vo>I_G-Vbw1ZN*L$vuLQN3r zdZBV^-mk6as|SR7@c-a?zUvd$4d$@xQ`cv%&t2DrxVLwzB{{TJxS&Lu7A&Z(tl|^-<{pF(4_A39G~1ac1O2esE41ua*@27y4`MH zu2Vrp{A|9x=XqF#q}qSPww(k zK{wAmJZrCN%G#^D3ioMluCmkCUfng^^=zh)pdafq!#_lFUJtfrBLVZW5 zp0!u?vQYnM?bY4f-R4>Qs=KYbomAZ2L8wVW^{l8ertGkbzR}w|J`wI1i)?VE~?jhPK!t=TTHz(-7wD#&A=G|BRA#1O0 zZtTZ7gz8;;bqj5FaT)yFwO99K_q3-?+UZQ%w}k3hdsS1`Ufr{_J#Ds7)7DP66&r0#fl{N&+cEewPR*MUr~| zDW7)u@Z4N`hLgIc?&BkM@bP6$UHx6VNat0?nb*{Pe6%%npMst>b(OzSm?qT6>DJU! zF86&nGo`!S|1I@$Kf@BYPpNcE+*u{sO#SPBpYqH{A76sd&Zzq4ZTJQ2fL`9;91I9P z?^DI6YCF#_5srI_H{WH26ZugBl~5gZB+1YaP0 z-&79eL0?Rb&;-rU94$dV<_kj|Y-uE(o?`CMV{asExX)2XbS611-=B zZO{&E$J`IYFdQR6oaQLRV>=Gu7*2s)@fs4z{28u;K3KAWJXjbTiyP#^LYo%ave1@= zwk)*8D+448dACdfdEig~CCfa}j%71w$C89IIE!=m2-om2J_TcA`2mcNN_)0ksD%L-0div- z1Az&cgvDSx)Q3y9wP1TTwrAUegE)+%IEmAsf3|l(-)!{5ZiWvEp*X6bCTfH6qg+w4 zzmCRe3g(5KeA>HVAVNW0c5-T81o~)?1bwvAM?10EV-O4aW#5V2*o*xjMmsUuiP4@2 z`t6|Kj$&v4=9`1DqZ&bSYyvrQY{540ea8_nKODzFA01cmt9Ms*=H$OEaG?l_g6%p> zpem}NI_R&H{;_x@Iq9SG4Ri)`o>dpgNnf44F&H5jiZD#U9ME6q8pI<38$hfs2lAmb zDuLX(Xwy{#^+5kzub~lW+tmsk5svv_yROw>+b*{4V%t0ikX(B}{#^9mMZaB1xQL(e zP?FqklmmTnvppaFw@(ESgAXzI5Q9$*Ft>c_;8oNIW9`FO`;ZGCzUxCCd|H6GeA=KL zI-nE$&=ri2PY=9_0FWo2zUU9;hfffOfV}w(1$pxsfpCn*SO`qOBt&2;rsFNl#B9t3 zIq_MD#aN1ESb-=oKYYlQPaM`_9oAzbHe)NcV<&cFFZSag4&x{iaRR51gtIt@^LP)J za2Z!|4a`-a>$r)p@g07|ZQR8@Jj8F3l=~&XDaKZ<9!1r?Vz1)1ym+$%V zJzu`(%lCZwo-g0?<$Jz-&zJA{@;zU^=bImeP!uJ=yz?!Gil_qSx^FG8U;EYvbI-Ri z*r$D4pf%coIpgaG=DlwZ^g?g+!$7bf_=bSvw(kgx!dQ$4W9T~tjGyn@VC;P7fpPO) z0>;djtF%98~OUO^7%VS*J7xZ#U@D2O5`j#4O#3aE@~sDVak z0&*>*;D@g82mhA;d;AFcp8t*{6<`|$0>Bs+=!^cKodSHe0NW{W12-k9 zU<-5s<6f{kdV<&rUIlFzr0s%yr_gI?1LjJh4j_g?j9H;XoWLn0Nm5~QQ<%>dCO3u2 zO=03K%orCw2*$PWQShB2{96&WQ-tjlp)W<~OA-FP$U9)Hi(J4(Nh(?$L&wdhEeI@cCkVzIc9=K{-@FCA@_th{STNF_vPPB$a##xnKZusiXzdu?TFlB-<>>HcMrP11|W$7vnJ#voRO*aaWQ` zzYHA|WCi&t-3R?J0E0lDN`HuJU_U7RnIx5|hZblB#;OcsRfcgX!#-2y3a;WKNh(XO z%d)MqY^yBWDmxgr@S7x&7O5QVm!ti1e5PC&Mj#xcC8@j-#9p4HUkt-=jKnBh!sobwoA^qSs*tBDUC<5P(G$$$D$Kbm z!$+pNJHs<8-55DB(jGY?9lG|Hkp`1hK`Rg<`Ct^;$v7Wu7Z zg99%3U@nNQ7O~YLwpy{0RGW5cS3o6H0sBsE+N#aAYO}4{Y^(N0Zg<#T9ky48?bTs> zb=Y2=AdJEojKg@`lcc(gL0!hUF5juk7}n)8+Wll*`cwBU%*0LH!Cm}{`;zo(GjxI< zn4hougMY90GIUTtKI@IZWK02bpxz982ewh~As&M{QNK4rF$}{o5|1RQ0dX}Tt_IAl z26~JI+i1W%Y%mLRB&i|e(U9?I$apklJQ|XxhP2mkJ{Dpz7{}Mh!)wJ*0;Ny}%;VP> z+t(7n*uJ(&l3p)|+Ng_qXdp?A$WbE;$ZI3=+K9Y1qWwmEztIY?A2ed#HO>Ji+{g{$ zYD_*GFTf%!0pDp%9-EM-CgiCJd1^u*n=m#_$a@p=-h{k2p>ItdOH$KpV7pCofqkp# zP%wT?CxYBIW&2IP#xGz@n?3;FYZicDkk@A9wHag4>?*zlpKtapevqU$Hew$R;1D?G zH!q4xV4gLvhMG8z_izc9!M0j3{w?~T9|j-@H*gEgnHG0JOf4sY{!LQ|0Mjvde$UC|wHA^?LBhH;>s zj^wZ-qP%L(Z5at%oGyUvLK0A}o&h)o4{q4LIF<6g1I10wE^C_IcInY+; z5AiWR!wuY&B)^wH+kTbN4ZXow`jJyV+VZ0fKicpkr+)O$kDU6EQ$KR*M^637sUJD@ zBd31k)bF7rbs?u+$Y~dH+NA*)!!Ca41-9R%9|mGDMqm`iVmu~+xzmL{cA?!avDk<$ zAg^7>YnQz^h7%yKUC!cNTmXISLf^W4j|Y;}H479FQ`a2O!vQyZkq-q?7_XuahG9A4 zunF|7>v53BuC&qh63Ay)+UiPMUBARPpv|s7;kG1o%ZZAp2m0GB1oW}nRFKndP}y~GjF=n$L_~)9#=u%x_=7V>3$PGf;@J=i+gy8 z$CA`T0b|(10ov+88$IY_4|3h33aX<%UPEIvLkqM*XS|8Q7y;&855}a&crfpJke?p2 zF%RUa#}Y8_dyuCd-s?@3;J<_7)iSsAp|lQw$NM$gu02lCys2YR7582_FF5rp9o zmtDG*z) z1|X(h{^*1L7=$4R#b_`ly(VBXn47((BNnvNi}4T0f*fFs1M;9GDxoTBpf=cV0-E3r zv_u=U2YCn}4*~Q)APlq>KwAN{6+l}7GcX^EuoUcb0Z~|m1nj_3oWVI^+YPYZNJ00vDw5s(GIlN*ALx5uKM;xFvwBgDIiCE$x&b0=}V6KF2hQ! zLM+x|9gc%>>-$iW`q9^ZB|#tiF&_PzqB&ZjEjoa<`n`!j&}P2@pwIp2Yd-y(kf#CUX+Q^bMpuxh0pw`_UlI16Xa>YejLO}yo)RN0zcpue#WnOAV~wWK*1}>0X>Xxfw?uX9LUqa z*U<#zX&`wTNS+3Efj@d80DaI8lfW1bB$k1n<6GR5q(QVb$N1~Wh(2hq1dCvYAg<4b%4=E9(#a0id@yCem@3>jIG4Q9}85bXt(2V)UL z--4I}LCk?5`WQstg6LZib0CO05Yz?T&>Mp>5)qh%xnK?iF$aPou^Nm=5OW}iIS{lN zTd@y}MbHI&g0DbMf*6mWTVOnb9!nCNmj;ug!HmaX#$#}HSdb4TQ4RIb5RK3j%|VU^ zcScvR&kcSP0T_gEOu`&2#d1U;265N~VjR2!yFsjj58wpe#Z`QXpKu4i;65Hn(hwP0 zL7YQ!!3Z--gX7K+;uta=^AL^o*n^`uj#D^;b6}1R`4AuDGu*&U{D_B=6ihq8Y(JQM z1l!?4ZWKl_ke}c(U|fSMq8469TacGv@)Aru!GY+DU<}1@kfY!+7>B7KSHUZ=2J5f^ zo3Rc1aR~Gwm_7v4hu|b!#5FJ%gUM4cc?u>^!Q?5JxfnwHA>=89JcZDY5DRR`17Z(h z&WA7uL)gDUTA~fwqZ4|9@eJvM{uqS87=a0xg~f;jafguWkkugW5aJFY?vR}z_aTgL zNFvUIcteOcgm^=UH-vaYh&P0ILy0$(cteRdlz2mlHXYknu1t{k&j{IW7t42j>AI0 zMu&~Xcuc|+OvhVT0CF^JEq34_j(~9-b`nXrh|9PN#&sC+4*MM6;%7XTq%d+5W(IMG z5qB7IhY@!e;~7>0#2rT5VZR9GHV)lQ9)D!1#tSzG1{1 zM$BQv97fDx#2iM*JTu?{EJ;lw&T zKMH|ZhZE~?VjW%u)lm}-(E^m$mbJcxZn zExd*{=mLL`>k$Fy19Ckg6k!;N(HM&%k08$@-obfX#QXRJ zU*Rr(lcbR^f&FJB`_D+`$VleMNE^ueNb){15AvZnDxnUVp&dHH58c4L9@!7f>ygas zks%lc@;*{v8Ww_iF>)1R!TcD>em`fodxMz6i8-8@!-+Y3D8_(z!{;Fi z@mP;d*a~tTeh^2H2yz`xuEWoQ9Eab)Pk1azqZGV?9MHoAH++!~1yKadk5R-ssumi7 zSVs}#s2=DAVjV@Sqlj@7c^x$Zqc9c%#5;<3M=i%XY{O3M!G18GN1XyW9d!;Da0!>e zJRbEuewC!r%!Sc8VSpJnFc(I%?~N`5@;bT%*at_KMNCC@ax!KjB0z4&%*6sMMkH1s3XJU-ay8~KPJ=NV^Df>4V>#v%e2y>h6}|GcgDBVH~lKBj#~CaSY^l9Qhqbe#epDaUbAw zkl%6ScO3a0_XCJ~+=dKlmW2{Vim+HUPS{iFGLHluZsW-0x=6> z7Q`%wSxf*i3t|?;EQndm#uCJ06ZYdcPT>sBfqV<{EXcF?3^zc&#n-rvN0KyNh6!%? zA|IF^tG&_?}py!hk+Q35R3xzWIXd^Jo98c^JM%q%mq0f zPt4=Df_X9iAdVmrCvhGZaT!-}4WEE~kH3Wnk~Beu0cP0Xgbxa#C`y3+a6&m$0C7)f zgf{4oz8HWY1Y;=1Kwu&wK)e&k^@RC|Mgn$&SSJwc1Y(_#gm*x!6Nq&Ju}=6D*YO3I z8x!tH(!`gL3wF4W8+pMTnOG8KP#(vReBC$>+ z)`@Rn7Up0DqOc0&dLnaRBKe#64Zg#Vk~FCx$j>D5Gl_O5(e5P1aMDOHev`<@B=Rw7 z2abZdHHo=3=?u<+ahmi!e!+b_!f%o^nK7AM7|fl?Yp3MB2Tn&uFd5UO=9_R=95Wzf*AXgFOCW72V z%mDd`AU_dvu@a1F1noy`0qsWY!d@J}A<)+d`WiuBBj{_yO?(aZ`H1g84kK<$(v%{o z2;!PTTvLc^3UN)Tho)$bR%nAh=nrC?G6>{iN+{_66!JWU7^V=zl>Io3vv?Qp;eA{I zaZLFh4T2Q_7>)0A(mhnn3vNofcU2?(8Gn?$cq9f zjAAH(s;C2UIh`?{-U!4yop`6W12IhRj0xC`Yq$w*`#($4jF*rV*}?ud!w3i5@I^k* z=8Tdkjf!{`v@@eA7`qv*Ksz)1&<#ECCI%n~!$A8p=<^KvJcFFgV2;h8&ok)rjFngg z=Gu%6V6M$zj?FkONi!>fKF*}gne=NW`JdSp{Sbzc7>#kDjhT}%6$`K!kszltqrvuP zu0cG`f&R~;kF)5@Ec!5uJk9Ef{ul(dKWhxw?ku)9YY~WZRsuGHe9qbm#(vg$T*Ujh zf~)ulpWriG#~1h#%#m5YNYd<_U~bN4ZqBxWxjEYhd5|B4P!uIV?q@dyvCby%v&s8x zVxHX=9YE}}yTBjhfA*UQKrG1T><=Vqjth*@9Qrk97l>uJ{-hhT*Aj7pYv{lT+aIz_wZPf2uYfs1zC|D zxj>HR`=T7mqXx+1eEK`TCEB1P$jyA>ncp3KF$|M11=I01W@8=}f_~4ZpY!SGeEK<` ze$L+xayx%74uC$-|5TC|5YqxXs-Qi{=K{8|AO`ex0exLSUl-8V1@v{n5hUUyF5@ab z0)1bgZSQk@fv@n5BrP3@ zzD8C8?MBuBV-QKZk@PQ;{zcM$B>ju*jyFLcBgt>%01N_oj$8!hXyhT#x5zK?P?DC} zK|9OpqZt^>Wi7xME@K`o^FuGtzh%8K7()<(Q5cP}n1RKJ#0oI3%T{9z)?pX+;sEIP zvST=b(>R0gBx$*Vyr7TEnODncb9pdmWBE8tz+}*$<+Qh)aa+CwgF31u?H6<`r?+2lBMyW89LYl{uk@3064Z2Dw^E zu2%LyFOZ{^%!8E!5d?Cyl6F=y4_3~?T+rUiwb+95V4khKD@jo=Lq=AxPe##B6yp6K#eKPWZqVWzh=E zr)c7jCP&faJ9;MOU_QuwbPUK>H2IEZoTCqdcB4PQNB9JvgBYS2i|B8055y8pEUSoR z6|t-$mQ~r10|ihX4e%ytZ`BSQ#c`YhZLB&6a<_^;uKEdg@C)wa5!ikVxr|Ye8^uuy z^ev_WDx)eI;x)XE#%PaD=mPQ@(-XZwZexNGf}t3XNtlA^;5ZU93yZN5t3Y02)`IyT zvkUui2=pc9B$DtB-Ua=L`3}S%L+q=`&1!P9`W29u)p{6_2Srf{)lmy|K|fYELQ}i} z#%^_A3`01^KwvV6dG$2Rzy^@dSaK9gj$&U0xsN3uu}#3XVq2mO$W1J{i6u9&6Q zCAM79NCt@*}N9$K08pOJO4X)xkzQOlkzN}}ytiLNs8;D~Aacm%t z4aBj*0vigTFoUtf zyIa`qmRRtmEtkOD-Eti_@io4aq^&Q3oNi@Iw=$+%b3hLV%7MOat&D1@fd*i|+u8*5 zcPsteO8&NzyRD4d)}6S9&n0PFR#?Hdwz)z6w&g9}1+RcSZO;Wen2X!#&-R9B1p2VOIa;ADx}q0)gSoJs__qgv z*te6r?aaOHlQ0MKu?S1C2Ju*rP1uh^IEqC4CP_OOw;kD#6O7xAB4EsR)Iwd<$7^7I z?jWx_$m*adR8gWT;PcRR@4jx%@% z-$~L=a=QeQVdr9y zgPk#;|2y~KAdY~(@1*^mXTjL*ynv7J1#aUm?%^TG5ur=FEMV^K%8vplgz~6_s;Gh5 zAZNSUf-&3G69Hh}?dk{iuU(AUF2-yZW40>-)9@B%f|z$jgS_q92KI$r#J!8ScO3z7 z?;>}*KEUUABuTqv6%Ft@n&1tzL>sh6Cv*XM-5m<@x_bnO zbvLo@Cf41PK%RG#=iTIa_bjZ%KAZ&k+LImCK|6aogMRNB3ckOG@9*LJd-(nyzQ2d> z?_q5AFgAO(U^__k9{Rh7KJH;|>^TR3$a37CAY>6(^0OOe01vV5Jx}^i6@bSD z>Yy&_p#@r_9hl!I{J?me2*f}P2J`yFFboIzIWY|!%TCO~d@RCJECYQyu@$?p7xd@E zQ5?r9kh2pPL9R~R1pPQcKTh1j&-fLL-N~1shXr;ph9~nNAL!f3La2`bkf)Pu^W?W6 zA1B$?Nw#&8ZJm4o@ zaXd8#Yq1Sya2>>c+6P5Y5mitfwLs2Kvz^mT(GqRY9&Gb8{W#4&aGIQ-Cg-P_E2oDe z9HTKAbFm2I`t)+FLM({k^g0m7Y39yp=FVwya+ z4@u0GB<4yI{ZFF*N%TL7{wKYPCU^tHp2VC<^2Z>MkEBq9VI+t*X&fei93?SFl88Hr zxRZ!GDGD(l_M|l+-lX%mifi~3Gcg;)afUd~5XYG~kh?QGa1_UJ3XJKQi}(yT@Fl*%E&L`)XJ7h%P2Fd7 zlm*%b;CDzu+N6+>W?fwr7nDU&M6s7eaa~cdEmlOa7f^&%*WR%A-rHhtDE5Y;VnRqr zBM{SjPbN$X;k*3zanAL}{W;!A$uC;aZ@uO%P1Rxl3lD%b}(6v&~#y%o&D`wG0T z;7oK?FduhTa1ocHs{&mW=&Hax1#&8oQ-Pcc^g!ufhdfj?Wjmu|jhfn!8Z9 zg=Q`E%)&=_oL6`qcU36ILirVb!Pk6;+zJaRrX&c~AAl^@zs84r%u0N2{r8x2{ThD7 z9jy2Jvc8W26uE<=eDx+<}6$&dVw`AZrYLN}#$DAi5rSQ61qX&yVUGv+UyfZ0p; zWq%H27PC2?Iq0YK9Nbu`97`8*Elc?iIx4*r9hJJVQZtu+fL=;Ckj}P%uCBK zbE(Wr-BjteASeryMK12A%>9(@!X)-$DsnE{5A&9tf_cgw=RM?7CYLg~l~b2)=EkyZJ5 zT*7t8seBpNb02QF{9zvBNn}<25i41R9m)$SMv3JW$f*1en(3mK2!GD6?+UkCk%U{V zNXLyLn7_jO73Qxnf5kAPLEsdEjd|?J4E&aDG{eTX@ScsoQGr{j zjAb0-$zeO}T)8uLt+Zq1;T***bX953%6XiPekw2IVlLwfuEV~S_i!J2s?<^ClRU$7 zypFCazh^aTFjr+hI;+%KWhuUgmAa~Iqmv%`*}@PbL9l5D4n+r>7V`)n;2E2$k<%tQ zZIaU_Ic<{DCOK^mVgJpUWRuJG*nhMAH~U_1o`BvrAAp@V-^v^4XS4jO+)0(sR>`hP z=2iaRs+k;u+^UX3ZdJ269=B3u&MFyJoq@cn+)LFp$gS!>+{n$`#+~>rtMYqLbw8i5 zF$n$`iy8mW#~(|P@gMK=3xh#WJ%%_k$ii;bcB{5e^+eo8^?uC2oYm&6HfOc@s?AqD zm-AS_LN4KQuH+UTz&ooSLf+Lc@)0Xp#g}};_pD|O`mN4KC)IT{(n333=%`vp)lr7o z8U!`wu9=8TYfiw;)huB-Z{R&OMO3nhDw=RJHLdjFUTOx|76i4v8?~~jO(sk#+p`CL zn`)=9H~X?b2QrJ<=&x2jweqReU#713lE)r_TH8 zcIR*Cq0T$&rZNqk)SZJ{sFP`3F`iW)gJ;$IuGWty8_%lW4WF+!bN#+d=Qzw-Z`OLV z)|<87to8Tv1fE;}3a|4&-sWAt;A_6aeb<+wr+Pir>#4pSw^cvPXb?2muR(qdW@<1~ zgYQ6t85#~|F6VIxmva@1S;9@+${pOzy_l`R??Qw3H&oCT1dV!XlwG6j8fDjL-$vOr z?#Lu2Bfm!bH_qf3j^kgPh#4ABx7z47n_|gCwoUt> zlcpJXN7Er3#_`CvNxn^|BHyNY%;!oLaV<;n{H7aOj$NDX;{oK~^bspr#g}}8{G0MA zU>)mm*G)Cl?b1iac zkwJ^kw>-v^Jj3(6gy*$*UW@0o$fM;)e&!c`Lq08q6yr`?+)Rt_f6E`psa1!q?xb}p zI%~C8>$%vY)q7iC;d53a-&QlWdRA)*wKUL78=Z6qL0c}nu?Lfx!rn~dFl5;#%QjiI z&B5)p$+7J$yt{2amvRMiXj{z9Jjf$F&Qm;#Oxs@OH9qE3%-i-A-|_=LA&)kBw3Sg! z9gVcmPJ}4Kj0Qn_h#10bhke=)*AlFW})hW|X@9Xrw zPFZ%^qf3@uvBZ-^9=>l~zHeRT>5^^N9!zEmQ!!7MY`eU>YblRm=dN$qNE6-kF~A@r zLC_sX0j+oyXi1=y=62L1Q=d`~v!?lE`I zPMEdFGkf-CUk>Le+;)!~d*s)124`{(a_hO0MO;I95cJBT_ekb&5_9pn-g7Z$?}c2% z&D@WB>V2B$coFmWzRi1l$R~Wp=d5NEE%c(3UY+#nq*o_>y6E%%z7*2QU_AS90*jDS z-%~ux3%ty0xaYnvSi^7RQ%Er-R8fap==1)*HoUuUYY_AY$hBWb{mG=_{r$4--<`?G zwO_9N(>Z{HI0V`D%cx&Q{cf}WEM(O`pG&!l#Vlbdcd#7U^*_Yp*r(q<{m)~M{*PJ3 zmwdyI{EY8u|5`RsgI)UV((ilK--AW^w=ft45m`puNyHA3o!Es5{Ea>FeT Vu#4l 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 delta 25169 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 Ee=4&MqW}N^ diff --git a/src/ios/GoogleMaps/GoogleMapsViewController.h b/src/ios/GoogleMaps/GoogleMapsViewController.h index 4347ca747..68725be02 100644 --- a/src/ios/GoogleMaps/GoogleMapsViewController.h +++ b/src/ios/GoogleMaps/GoogleMapsViewController.h @@ -12,7 +12,7 @@ #import "PluginUtil.h" #import "NSData+Base64.h" -@interface GoogleMapsViewController : UIViewController +@interface GoogleMapsViewController : UIViewController @property (nonatomic, strong) GMSMapView* map; @property (nonatomic, strong) UIWebView* webView; @@ -37,4 +37,7 @@ - (void)removeObjectForKey: (NSString *)key; - (BOOL)didTapMyLocationButtonForMapView:(GMSMapView *)mapView; + +- (void) didChangeActiveBuilding: (GMSIndoorBuilding *)building; +- (void) didChangeActiveLevel: (GMSIndoorLevel *)level; @end \ No newline at end of file diff --git a/src/ios/GoogleMaps/GoogleMapsViewController.m b/src/ios/GoogleMaps/GoogleMapsViewController.m index 1acc84177..3dc005555 100644 --- a/src/ios/GoogleMaps/GoogleMapsViewController.m +++ b/src/ios/GoogleMaps/GoogleMapsViewController.m @@ -83,6 +83,9 @@ - (void)viewDidLoad //self.map.autoresizingMask = UIViewAutoresizingNone; self.map.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + //indoor display + self.map.indoorDisplay.delegate = self; + BOOL isEnabled = NO; //controls @@ -646,6 +649,43 @@ -(UIImage *)loadImageFromGoogleMap:(NSString *)fileName { } +- (void) didChangeActiveBuilding: (GMSIndoorBuilding *)building { + //Notify to the JS + NSString* jsString = @"javascript:plugin.google.maps.Map._onMapEvent('indoor_building_focused')"; + [self.webView stringByEvaluatingJavaScriptFromString:jsString]; +} + +- (void) didChangeActiveLevel: (GMSIndoorLevel *)activeLevel { + + GMSIndoorBuilding *building = self.map.indoorDisplay.activeBuilding; + + NSMutableDictionary *result = [NSMutableDictionary dictionary]; + + NSUInteger activeLevelIndex = [building.levels indexOfObject:activeLevel]; + [result setObject:[NSNumber numberWithInteger:activeLevelIndex] forKey:@"activeLevelIndex"]; + [result setObject:[NSNumber numberWithInteger:building.defaultLevelIndex] forKey:@"defaultLevelIndex"]; + + GMSIndoorLevel *level; + NSMutableDictionary *levelInfo; + NSMutableArray *levels = [NSMutableArray array]; + for (level in building.levels) { + levelInfo = [NSMutableDictionary dictionary]; + + [levelInfo setObject:[NSString stringWithString:level.name] forKey:@"name"]; + [levelInfo setObject:[NSString stringWithString:level.shortName] forKey:@"shortName"]; + [levels addObject:levelInfo]; + } + [result setObject:levels forKey:@"levels"]; + + NSError *error; + NSData *data = [NSJSONSerialization dataWithJSONObject:result options:NSJSONWritingPrettyPrinted error:&error]; + + NSString *JSONstring = [[NSString alloc] initWithData:data + encoding:NSUTF8StringEncoding]; + NSString *jsString = [NSString stringWithFormat:@"javascript:plugin.google.maps.Map._onMapEvent('indoor_level_activated', %@)", JSONstring]; + + [self.webView stringByEvaluatingJavaScriptFromString:jsString]; +} diff --git a/src/ios/GoogleMaps/Map.h b/src/ios/GoogleMaps/Map.h index a49a36275..d5166f25f 100644 --- a/src/ios/GoogleMaps/Map.h +++ b/src/ios/GoogleMaps/Map.h @@ -28,4 +28,5 @@ - (void)setAllGesturesEnabled:(CDVInvokedUrlCommand*)command; - (void)setPadding:(CDVInvokedUrlCommand*)command; - (void)panBy:(CDVInvokedUrlCommand*)command; +- (void)getFocusedBuilding:(CDVInvokedUrlCommand*)command; @end diff --git a/src/ios/GoogleMaps/Map.m b/src/ios/GoogleMaps/Map.m index 10b268c1d..5792313e4 100644 --- a/src/ios/GoogleMaps/Map.m +++ b/src/ios/GoogleMaps/Map.m @@ -470,4 +470,35 @@ - (void)setPadding:(CDVInvokedUrlCommand *)command { [self.mapCtrl.map setPadding:padding]; } + +- (void)getFocusedBuilding:(CDVInvokedUrlCommand*)command { + GMSIndoorBuilding *building = self.mapCtrl.map.indoorDisplay.activeBuilding; + if (building != nil) { + CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; + [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; + } + GMSIndoorLevel *activeLevel = self.mapCtrl.map.indoorDisplay.activeLevel; + + NSMutableDictionary *result = [NSMutableDictionary dictionary]; + + NSUInteger activeLevelIndex = [building.levels indexOfObject:activeLevel]; + [result setObject:[NSNumber numberWithInteger:activeLevelIndex] forKey:@"activeLevelIndex"]; + [result setObject:[NSNumber numberWithInteger:building.defaultLevelIndex] forKey:@"defaultLevelIndex"]; + + GMSIndoorLevel *level; + NSMutableDictionary *levelInfo; + NSMutableArray *levels = [NSMutableArray array]; + for (level in building.levels) { + levelInfo = [NSMutableDictionary dictionary]; + + [levelInfo setObject:[NSString stringWithString:level.name] forKey:@"name"]; + [levelInfo setObject:[NSString stringWithString:level.shortName] forKey:@"shortName"]; + [levels addObject:levelInfo]; + } + [result setObject:levels forKey:@"levels"]; + + + CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:result]; + [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; +} @end diff --git a/www/index.html b/www/index.html index 1f1619315..b9cc0a874 100644 --- a/www/index.html +++ b/www/index.html @@ -4,28 +4,29 @@ Google Maps Plugin for Cordova - - - - - - +