mapsplugin / cordova-plugin-googlemaps

Google Maps plugin for Cordova
Apache License 2.0
1.66k stars 913 forks source link

Huge performance loss for Ionic #426

Closed zanemcca closed 8 years ago

zanemcca commented 9 years ago

When I install the plugin without even using any of the code I get terrible performance from my application. I checked the GPU rendering and the draw time is an order of magnitude larger. Here is the output with plugin.google.maps installed.

Current memory usage / total memory usage (bytes):
  TextureCache          7348320 / 50331648
  LayerCache                  0 / 33554432
  RenderBufferCache           0 /  4194304
  GradientCache               0 /  1048576
  PathCache                   0 / 25165824
  TextDropShadowCache         0 /  5242880
  PatchCache                  0 /   131072
  FontRenderer 0 A8           0 /        0
  FontRenderer 0 RGBA         0 /        0
  FontRenderer 0 total        0 /        0
Other:
  FboCache                    0 /       16
Total memory usage:
  7348320 bytes, 7.01 MB

Profile data in ms:

    com.ionicframework.instanews953913/com.ionicframework.instanews953913.CordovaApp/android.view.ViewRootImpl@4481e360
    Draw    Process Execute
    163.56  3.81    0.35
    125.42  8.47    0.71
    116.49  2.92    0.73
    129.61  4.50    0.43
    123.96  3.17    0.43
    108.64  3.42    0.46
    123.61  2.81    3.58
    115.35  3.65    3.25
    124.17  3.56    3.53
    163.79  7.85    0.37
    127.75  2.85    3.06
    119.46  3.23    1.36
    140.13  3.00    3.09
    131.07  5.40    0.35
    133.53  3.72    4.83
    152.30  3.56    0.47
    167.51  5.22    0.50
    107.74  3.92    0.58
    145.65  3.57    1.07
    124.52  2.80    0.47
    150.58  3.69    0.51
    108.85  2.79    0.76
    152.99  2.81    3.91
    150.65  3.05    0.37
    169.28  7.68    0.36
    140.77  4.57    0.50
    168.78  3.13    0.40
    109.34  4.15    0.90
    110.01  3.62    0.35
    110.40  5.49    0.30
    120.17  6.32    0.33
    192.77  3.74    0.40
    160.95  3.80    0.43
    138.49  5.46    0.40
    119.53  3.04    0.45
    115.21  2.81    0.51
    150.19  5.04    0.46
    126.76  3.08    0.42
    139.70  2.77    0.45
    142.63  2.91    0.40
    116.82  4.13    0.45
    117.73  3.32    0.48
    156.40  8.00    2.09
    112.87  3.75    0.47
    138.10  2.80    1.66
    145.19  2.98    0.55
    166.96  3.30    0.76
    147.34  3.49    0.42
    140.87  5.93    0.49
    146.33  3.67    0.53
    179.22  4.22    0.50
    111.53  2.97    0.34
    104.96  2.97    1.77
    104.45  2.82    0.72
    123.59  2.90    1.25
    131.47  2.79    0.44
    131.92  2.83    0.33
    114.94  8.29    0.81
    129.24  3.25    0.57
    130.77  3.28    0.45
    139.65  2.99    0.60
    119.18  4.77    0.53
    132.11  3.84    0.99
    127.37  4.42    0.82
    151.34  2.81    0.51
    137.95  4.17    0.36
    131.62  3.03    0.51
    156.05  4.73    0.48
    100.30  3.38    0.49
    121.08  3.65    0.54
    134.70  4.47    0.53
    103.25  2.93    0.56
    133.69  2.82    0.37
    113.12  5.78    3.95
    110.60  9.82    0.43
    114.65  3.64    0.47
    117.46  3.88    0.52
    115.11  8.57    0.31
    111.53  3.72    0.44
    118.43  4.30    0.41
    126.91  3.98    0.67
    164.65  4.60    0.83
    184.59  10.95   0.85
    127.37  3.91    0.35
    144.14  5.07    1.21
    143.88  4.64    2.60
    116.78  4.50    1.14
    138.54  4.36    0.46
    116.67  3.66    0.35
    168.58  5.02    0.92
    128.32  3.54    1.27
    112.12  3.76    0.34
    109.94  4.10    0.43
    119.70  3.21    0.41
    146.37  8.02    0.32
    129.36  3.59    0.39
    150.53  5.03    0.70

View hierarchy:

  com.ionicframework.instanews953913/com.ionicframework.instanews953913.CordovaApp/android.view.ViewRootImpl@4481e360
  6 views, 0.32 kB of display lists, 417 frames rendered

Total ViewRootImpl: 1
Total Views:        6
Total DisplayList:  0.32 kB

And here it is without the plugin installed.

Caches:
Current memory usage / total memory usage (bytes):
  TextureCache                0 / 50331648
  LayerCache                  0 / 33554432
  RenderBufferCache           0 /  4194304
  GradientCache               0 /  1048576
  PathCache                   0 / 25165824
  TextDropShadowCache         0 /  5242880
  PatchCache                  0 /   131072
  FontRenderer 0 A8           0 /        0
  FontRenderer 0 RGBA         0 /        0
  FontRenderer 0 total        0 /        0
Other:
  FboCache                    0 /       16
Total memory usage:
  0 bytes, 0.00 MB

Profile data in ms:

    com.ionicframework.instanews953913/com.ionicframework.instanews953913.CordovaApp/android.view.ViewRootImpl@4481f400
    Draw    Process Execute
    0.36    6.45    1.34
    0.64    6.08    1.50
    0.33    10.37   0.73
    0.29    10.67   0.84
    0.31    10.97   0.97
    0.41    12.98   1.32
    0.39    10.90   2.13
    0.53    19.32   4.71
    0.14    4.40    0.84
    0.15    11.34   0.75
    0.18    11.24   0.60
    0.22    11.64   0.78
    0.18    12.10   1.23
    0.29    12.48   1.31
    0.26    12.48   2.40
    0.26    13.59   1.23
    0.23    11.87   1.28
    0.15    26.28   5.86
    0.30    7.14    2.47
    0.18    6.20    0.78
    0.51    10.63   1.27
    0.18    5.41    1.46
    0.15    6.35    1.09
    0.16    4.21    1.09
    0.13    5.72    3.64
    0.13    4.80    2.10
    0.39    9.54    3.07
    0.24    12.74   1.22
    0.17    9.01    1.06
    0.18    4.70    1.14
    0.14    4.81    1.24
    0.16    4.53    1.16
    0.18    5.48    1.12
    0.14    3.83    0.72
    0.14    4.01    0.74
    0.15    3.89    0.91
    0.14    5.11    1.23
    0.20    6.24    2.94
    0.21    6.18    1.73
    0.13    5.16    1.27
    0.18    6.06    1.68
    0.22    6.51    2.07
    0.19    6.36    6.49
    0.23    11.60   2.87
    0.38    14.35   2.73
    1.24    7.45    1.55
    0.26    12.43   1.91
    0.36    11.38   2.20
    0.41    13.00   6.11
    0.25    8.28    1.48
    0.24    6.37    1.58
    0.39    8.89    2.61
    0.19    8.31    1.18
    0.14    4.11    1.27
    0.15    4.72    1.39
    0.15    3.51    0.66
    0.18    5.19    1.11
    0.31    9.28    3.85
    0.26    6.55    0.95
    0.31    7.44    2.11
    0.48    12.63   1.72
    0.25    6.73    1.67
    0.33    8.38    2.22
    0.19    11.48   1.70
    0.36    12.99   2.10
    0.68    17.34   1.17
    0.24    5.86    2.48
    0.27    7.13    2.93
    0.19    8.42    3.47
    0.15    4.63    0.86
    0.24    9.68    1.47
    0.44    4.10    0.80
    0.15    4.05    0.86
    0.15    4.29    0.88
    0.15    3.74    1.16
    0.14    6.67    2.46
    0.21    9.22    1.24
    0.23    9.64    1.18
    0.23    9.64    1.15
    0.33    6.04    1.27
    0.21    5.92    3.37
    0.20    5.93    1.15
    0.26    6.76    1.76
    0.37    7.12    2.27
    0.46    6.03    1.65
    0.33    15.25   1.53
    0.24    7.59    1.56
    0.21    6.31    1.54
    0.30    8.91    1.45
    0.15    4.56    0.95
    0.52    13.77   2.20
    0.21    6.21    1.24
    0.53    11.23   1.47
    0.34    16.33   1.72
    0.23    6.17    4.44
    0.20    6.16    3.38
    0.18    4.09    6.11
    0.13    3.10    0.92
    0.14    3.22    3.49
    0.18    4.73    1.12
    0.15    3.77    1.01
    0.14    3.39    1.06
    0.18    5.70    1.17
    0.47    14.63   2.27
    0.26    9.92    1.38
    0.79    6.02    3.37
    0.51    12.02   1.57
    0.50    8.52    1.54
    0.26    6.36    1.45
    0.20    8.23    1.40
    0.21    6.47    1.38
    0.17    5.54    1.22
    0.22    6.17    1.56
    0.49    11.60   1.84
    0.33    8.38    1.31
    0.43    9.93    2.96
    0.46    12.33   2.53
    0.27    8.64    2.98
    0.37    5.27    1.40
    0.54    24.58   3.39
    0.27    6.74    1.74
    0.83    14.37   1.41
    0.25    7.31    4.98
    0.23    8.13    2.45
    0.21    9.97    1.22
    0.17    10.49   5.48
    0.14    15.13   3.40
    6.02    12.80   1.45

View hierarchy:

  com.ionicframework.instanews953913/com.ionicframework.instanews953913.CordovaApp/android.view.ViewRootImpl@4481f400
  6 views, 0.27 kB of display lists, 484 frames rendered

Total ViewRootImpl: 1
Total Views:        6
Total DisplayList:  0.27 kB

The map seems to work fine when I implement it but the rest of the app is almost useless. Any ideas as to what might be causing this? FYI - This was tested on Android 4.4.4 Sony Xperia Z3.

Thanks & regards,

Zane

wf9a5m75 commented 9 years ago

I don't know the reason, but many ionic users report similar issues. However I'm not familiar with ionic framework. Please involve some ionic experts to help for this.

wf9a5m75 commented 9 years ago

I give you one suggestion. Many bugs are fixed in the test branch. I thought I fixed one bug regarding with ionic one day. Please try to use the test branch.

$> cordova plugin rm plugin.google.maps
$> cordova plugin add https://github.com/wf9a5m75/phonegap-googlemaps-plugin#test --variable API_KEY_FOR_ANDROID=...
$> cordova run android
tyohan commented 9 years ago

Try to use https://crosswalk-project.org so your Ionic project will include Chromium engine instead the slow web view that coming with Kitkat

hirbod commented 9 years ago

Crosswalk is still not compatible with this plugin. We're still waiting for the new releases which will hopefully fix the problems with transparent webview background. When the running update of crosswalk is out, you will of course have all the benefits that crosswalk brings to you

zanemcca commented 9 years ago

@wf9a5m75 I tried the test branch but I was getting build errors so I couldn't test it.

BUILD FAILED
/usr/bin/android-sdk-linux/tools/ant/build.xml:653: The following error occurred while executing this line:
/usr/bin/android-sdk-linux/tools/ant/build.xml:698: null returned: 1

...

ERROR building one of the platforms: Error: ~/project/client/platforms/android/cordova/build:Command failed with exit code 8 
You may not have the required environment or OS to build this project

@tyohan I think 4.4.4 has the Chromium engine as well. I was considering using Crosswalk for older devices though.

wf9a5m75 commented 9 years ago

Could you show me the whole log? Not only the line. There is no enough infornation.

Please use gists.github.com

On Wed, Mar 4, 2015, 5:29 AM Zane McCaig notifications@github.com wrote:

@wf9a5m75 https://github.com/wf9a5m75 I tried the test branch but I was getting build errors so I couldn't test it.

BUILD FAILED /usr/bin/android-sdk-linux/tools/ant/build.xml:653: The following error occurred while executing this line: /usr/bin/android-sdk-linux/tools/ant/build.xml:698: null returned: 1

...

ERROR building one of the platforms: Error: ~/project/client/platforms/android/cordova/build:Command failed with exit code 8 You may not have the required environment or OS to build this project

@tyohan https://github.com/tyohan I think 4.4.4 has the Chromium engine as well. I was considering using Crosswalk for older devices though.

— Reply to this email directly or view it on GitHub https://github.com/wf9a5m75/phonegap-googlemaps-plugin/issues/426#issuecomment-77157228 .

darkat commented 9 years ago

Hi, i have the same problem. My phone is MI 3W, KitKat 4.4.4. I was upload a example in github: https://github.com/darkat/ionicslow/ If i remove the google-maps plugin, the app work well. Thanks

JcDenton86 commented 9 years ago

I agree. This plugin can give native maps but without crosswalk you can see the performance penalty on the Android devices clearly.. I believe it's because the transparency this plugin sets to the DOM. A very good alternative is to use Leaflet.js with Mapbox or HERE tiles (so to apply a Google like map style), until Crosswalk can support the transparency and this plugin can work with Crosswalk fine. Then again you have a storage penalty (my app grows up to 53MB - 5MB .apk and Data 48MB - without crosswalk and if I build it using Crosswalk it grows up to 115MB).

wf9a5m75 commented 9 years ago

I don't think transparency is not this problem. Because the slow issue reports only ionic users.

JcDenton86 commented 9 years ago

Hi, @wf9a5m75 Maybe, but I am using Onsen UI. Without installing the plugin, the transitions between the pages (slide especially) are smooth and the feeling of the app is fine. Adding the plugin though, the transitions become heavy and you can see small lags. I have two versions of the same project, one with the plugin and one with the alternatives mentioned on my previous comment. The latter runs and feels much better (Maybe has to do with the UI frameworks that are being used - Onsen, Ionic etc), but either way there should be 100% compatibility with these frameworks as the community around them grows quickly. Again, when I build with Crosswalk and this plugin, the app runs like the version without the plugin installed. That is, smooth and lags free.

hirbod commented 9 years ago

I guess that that these lags are related to the plugin's position watcher. In iOS it is perfectly smooth (I'm also using onsenui)

Android performance is usually bad on webview, just newer devices like s5 or htc one, note 3 are smooth.

Could you please try just one thing to confirm (but you need to have the test branch installed)

map.setWatchDogTimer(10000); I guess this will boost the performance. This is just a proof of concept, remove the code after test

wf9a5m75 commented 9 years ago

Ok, please use crosswalk if you so. I haven't tested it yet, but crosswalk-12 beta seems support the background feature. I think the test branch code is better for this issue.

hirbod commented 9 years ago

You need to know that this plugin check for its child elements and its own position every 100ms. Android has very bad performance with setInterval, as it is thread and ui-blocking operation and delayed to a queue of calls. Therefore you have this lags I guess. Try so set the watchdog timer to a higher value step by step (100 is default).

This will cause in slower element position recognition but it will definitely boost performance. Your could and should also destroy the map on prepush (and maybe recreate in post push) you just need to catch all the postpop and prepop events in onsen (as a pop on an destroyed map will lead into a blank map). I have some reinit code in my postpop listeners for this kind of problems.

But there are several ways of optimizing

darkat commented 9 years ago

I have a MI3 (more faster than HTC ONE) and the performance is bad. Add the line map.setWatchDogTimer(10000) don't work. I haven't added the code for load the map, i just installed the plugin. For this reason, i do not think that transparencies are the reason for the poor performance.

wf9a5m75 commented 9 years ago

@darkat Could you take a video how slow the app on your phone? I've never felt the app that use this plugin is terrible slow. (Since I don't use JS frameworks basically, that is the reason probably)

ArniPL commented 9 years ago

@wf9a5m75 I made a video showing the difference. Hope that helps.

In the videos above, no code initializing map was run, so no transparencies were set. There's just plugin installed.

Note that it's not only scrolling. There's an overall performance loss, for example tapping, CSS3 animations, swiping are all also slow.

Luukschoen commented 9 years ago

I tracked this issue back to the release candidate of Ionic. Once they went from 1.0.0 beta#14 to RC.0, this huge performance issue popped up. All versions below the first release candidate worked just fine. Anyone with more knowledge about the inner workings of Ionic and what changed between the latest beta and release candidate? I couldn't find anything noticeable in the release notes. Same version of Angular was used in both versions. Since i have seen this same issue with people who use onsen-ui and ember, any idea if there's any overlap between these three? Maybe some component got an update and screwed up cordova maps? @wf9a5m75 thanks for your great work so far!

michaeleparkour commented 9 years ago

I was thought all these perfomance issues are already talked. All lags and freezes are here becouse plugin use webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); to place map layout.

That mean your webview makes all transition not accelerated with GPU, only use CPU for that. That's why it freeze.

You may comment

    if (VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
      webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }

line in MyPluginLayout.java, but when I get problems with map on some devices - it may not fill the sreen.

Then trying set hardware acceleration after map init by

webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
wf9a5m75 commented 9 years ago

Try to use this plugin with Crosswalk project. The problem might be solved. https://github.com/wf9a5m75/phonegap-googlemaps-plugin/wiki/Tutorial-for-CrossWalk-(Android)

ArniPL commented 9 years ago

Thank you. I will try that when I get back to the project.

hirbod commented 9 years ago

Crosswalk brings much performance, but changing from SOFTWARE to HARDWARE boosted my app like 300%. Thank you so much for pointing that out @michaeleparkour . There is also a SOFTWARE line inside of "GoogleMaps.java". I've also changed from software to hardware.

@wf9a5m75 is there any reason why you set this to Software?

Luukschoen commented 9 years ago

I'm checking out crosswalk right now. For Ionic users: crosswalk is integrated in Ionic. Since background transparency is only supported by the latest crosswalk versions, you should modify your browser.js file inside your ionic node package. You can probably find it somewhere around here: /usr/local/lib/node_modules/ionic/lib/ionic . Add the latest version of crosswalk to this file. Save and close the file. Go to your ionic project, run ionic add browser@{version_I_just_added}. This should automatically install the prefered version of crosswalk into your project. Be careful though, still beta so it could give some errors a long the way. For the official ionic crosswalk docs check: https://github.com/driftyco/ionic-cli#crosswalk-for-android

wf9a5m75 commented 9 years ago

Althoug the latest version of Crosswalk might work with the hardware setting, regular webview (not crosswalk) does not change the background as transparent with the hardware setting.

As I said #302, testing Crosswalk has just started finally, there might be some issues.

piernik commented 9 years ago

To use Your plugin we need crosswalk 14? With ionic I can use only 13:

ionic browser add crosswalk
         Version 8.37.189.14 Published Fri Oct 10 2014 03:26:00 GMT+0200 (Środkowoeuropejski czas letni)
         Version 9.38.208.10 Published Tue Nov 25 2014 11:45:00 GMT+0100 (Środkowoeuropejski czas stand.)
         Version 10.39.235.15 Published Wed Dec 31 2014 13:16:00 GMT+0100 (Środkowoeuropejski czas stand.)
         Version 11.40.277.7 Published Thu Feb 26 2015 07:03:00 GMT+0100 (Środkowoeuropejski czas stand.)
         Version 12.41.296.5 Published Thu Mar 05 2015 13:19:00 GMT+0100 (Środkowoeuropejski czas stand.)
(canary) Version 13.41.318.0 Published Wed Mar 11 2015 09:22:00 GMT+0100 (Środkowoeuropejski czas stand.)
hirbod commented 9 years ago

https://github.com/wf9a5m75/phonegap-googlemaps-plugin/wiki/Tutorial-for-CrossWalk-(Android)

brunodb3 commented 9 years ago

I have tried installing crosswalk using the latest version, and it worked as expected. But i couldn't get my app to access the internet... Even with the uses-permission for INTERNET, it did not work. I used the ngCordova plugin for network, and if showed me i was connected...

As of a "solution" to this issue, wich seems to be more performant as of now?

piernik commented 9 years ago

@brunodb3 You need to comment one line - http://forum.ionicframework.com/t/crosswalk-integration-beta-in-ionic-cli-v1-3-2/15190/263

brunodb3 commented 9 years ago

Thanks @piernik , going to try this out and post the feedback ;)

brunodb3 commented 9 years ago

After struggling a bit with the crosswalk platform, i got the app to work without the plugin installed. Once i installed it , "ionic run" gave me a build error.... run error

I did not change any lines from the plugin or crosswalk, only the line 204 to make my requests work and login successfully to Parse.com

Luukschoen commented 9 years ago

@brunodb3 this has to do with not implementing the latest crosswalk version, pretty sure of it. If my explanation above wasn't working to add crosswalk in the correct maner, do it manually. Follow the migration plan on the crosswalk documentation. I had the same kind of errors after adding crosswalk the ionic way, but when i moved crosswalk manually into CordovaLib all just worked fine. You can follow this guy's tut on youtube: https://www.youtube.com/watch?v=0I1OjJLVLMo Make sure you download the latest cordova crosswalk version and follow the steps in the youtube post. Then make sure you overwrite the mainactivity in your android project as suggested over here: https://github.com/wf9a5m75/phonegap-googlemaps-plugin/wiki/Tutorial-for-CrossWalk-(Android) .

brunodb3 commented 9 years ago

@Luukschoen Thanks for the tip, here goes another attempt on CrossWalk. Also, is there a way to reduce the app's size? I noticed that (when i didn't have the plugin on) the app went from 5MB to almost 60MB...

brunodb3 commented 9 years ago

Should i install XWalk or maps plugin first? In case it somehow generates conflicts :|

Luukschoen commented 9 years ago

If you add crosswalk to your build, it'll add chromium browser in your package. Thus, package size increases since it got a browser included. I think 60mb is because of packaging arm and x86 both, if you package just one it should be around 39-40mb. Here's what you need to do: throw away your plugins for starters. Implement crosswalk as suggested in the YouTube video. Make sure everything works with crosswalk (i.e. building and stuff like that)! If it all works, add the phonegap-googlemaps-plugin. Make sure you work with the test branche! So use plugin add link/to/repo#test .

brunodb3 commented 9 years ago

I couldn't get the ionic build to work after adding crosswalk just like the video. Also, i had to target api level 21 or 'ant debug' would not work... I will try again, if the error persists i will post a screenshot

Luukschoen commented 9 years ago

@brunodb3 If nothing seems to work, try it with a clean ionic project. Let me know if you succeed. I have to say, with crosswalk implemented the plugin works like a charm

k1ng440 commented 9 years ago

I have successfully installed the crosswalk, just like the video. everything works just fine except i get this error https://db.tt/0V88kusB

I have solved the issue but it seems. something is not being triggered

Luukschoen commented 9 years ago

@k1ng440 did you already try to initalize the map at this point or did you just add the plugin?

wf9a5m75 commented 9 years ago

https://github.com/wf9a5m75/phonegap-googlemaps-plugin/wiki/Tutorial-for-CrossWalk-(Android)

piernik commented 9 years ago

I've managed to add crosswalk with beta ionic-cli - https://github.com/driftyco/ionic-cli/issues/364 but can't install phonegap google maps plugin :/ https://github.com/wf9a5m75/phonegap-googlemaps-plugin/issues/520

@wf9a5m75 I think Your tutorial is no use for ionic users. Ionic has great cli with it's browser support. Can You test Your plugin with it? ionic-cli is rather easy to use - here You have docs how to start http://ionicframework.com/docs/cli/

Luukschoen commented 9 years ago

@piernik The reason that this plugin is not compatible with the Ionic CLI is because of the used versions of Crosswalk. Ionic CLI currently supports stable Crosswalk versions (for obvious reasons). This plugin makes use of a property to set a background transparency. This isn't supported in the latest stable release, thus not compatible with this plugin. Your options: wait till there's a stable release of Crosswalk that's integrated with Ionic or just add Crosswalk (a version that supports a transparency on background property) manually to your Ionic project and then add the plugin. I' can guarantee you it works (since it is over here). If you want I could tell you the versions of Cordova/Crosswalk/Ionic I'm using? Let me know.

piernik commented 9 years ago

@Luukschoen no, it's not the issue. I'm using beta version of ionic-cli where You can use crosswalk 14. I can't install plugin not use it.

But yes You can tell me which version are You using - I tried to make it working using YouTube video but no luck.

hirbod commented 9 years ago

Beta is not canary. Please read The Wiki here about crosswalk. @luukschoen pointed out everything correctly.

piernik commented 9 years ago

@Hirbod I'm talking about ionic-cli beta - not crosswalk beta. Here is link https://github.com/driftyco/ionic-cli/issues/364 Using this ionic-cli beta You can install crosswalk 14 using ionic browser add crosswalk@14.... command and after adding crosswalk to project (which works great) I'm trying to add google maps plugin with no luck as explained here https://github.com/wf9a5m75/phonegap-googlemaps-plugin/issues/520

hirbod commented 9 years ago

Yeah and the problem is for sure the crosswalk version (canary is important). Also, Cordova 5.0 isn't supported right now

Luukschoen commented 9 years ago

what @Hirbod said. It has definitely to do with the Crosswalk version. This is the Ionic info on my project:

OS: Mac OS X Yosemite Node Version: v0.12.0 Cordova CLI: 4.3.0 Ionic CLI Version: 1.3.22 Xcode version: Xcode 6.3.1 Build version 6D1002 ios-sim version: 3.1.1

I have also adjusted the existing cli version to include the right Crosswalk version, but it gave me the same errors as you've shown on the separate issue. I guess it has something to do with the order of building the project by Ionic. It doesn't seem like Crosswalk is added in the right manner. You can check this by comparing your .java file and compare it to the one mentioned over here: https://github.com/wf9a5m75/phonegap-googlemaps-plugin/wiki/Tutorial-for-CrossWalk-(Android). I can guarantee you that you don't have the right Crosswalk version or it's an issue with the way Crosswalk is added by the Ionic CLI. Either way, if you add it manually you should definitely get it to work. It works for @Hirbod as it works for me. Good luck!

piernik commented 9 years ago

Thanks - I'm using cordova 5.0 - this might be the issue

Luukschoen commented 9 years ago

Can we close this issue? Working with Crosswalk seems to do the trick.