B4A Library GoogleMapsExtras

GoogleMapsExtras is an ongoing project to implement more of the Google Maps Android v2 classes in Basic4Android.

Currently the library allows you to create these objects:

Tutorials for each object will be uploaded to the Google Maps Android v2 tutorial thread.

Martin.
 

Attachments

  • GoogleMapsExtras_v1_71.zip
    59.6 KB · Views: 2,851
  • MapsForgeTileProvider_v1.01.zip
    173.1 KB · Views: 2,732
  • GoogleMapsExtras_v2_0_library_files.zip
    82.5 KB · Views: 3,153
Last edited:

warwound

Expert
Licensed User
Longtime User

coslad

Well-Known Member
Licensed User
Longtime User
i tried but it doesn't works as expected , the panel that you put upon the map remain steady even though you move the map .
Only martin ( and Erel ) can save us
 

warwound

Expert
Licensed User
Longtime User
i tried but it doesn't works as expected , the panel that you put upon the map remain steady even though you move the map .
Only martin ( and Erel ) can save us

Any view positioned using the Projection ToScreenLocation will remain fixed.
You'd have to listen for the map center changing and move the view each time the map center changes.

Far from ideal but that's your only option.
 

arnold steger

Member
Licensed User
Longtime User
hy. i have a problem to hidden my markers on buttonclick.
B4X:
MarkersF(0)=    gmap.AddMarker3(lo,la,"description",Iconk)
......
MarkersF(310)=    gmap.AddMarker3(lo,la,"description",Iconk)

Sub btn_Click
MarkersF(311).Visible=Not (MarkersF(311).Visible)
End Sub

When click the button stopped the programm

error:
java.lang.ArrayIndexOutOfBoundsException: length=311; index=311

any idea where my problem?
 
Last edited:

osasigbinedion

Member
Licensed User
Longtime User
hy. i have a problem to hidden my markers on buttonclick.
B4X:
MarkersF(0)=    gmap.AddMarker3(lo,la,"description",Iconk)
......
MarkersF(310)=    gmap.AddMarker3(lo,la,"description",Iconk)

Sub btn_Click
MarkersF(311).Visible=Not (MarkersF(311).Visible)
End Sub

When click the button stopped the programm

error:
java.lang.ArrayIndexOutOfBoundsException: length=311; index=311

any idea where my problem?

your index is incorrect... 310 is the right index to set that marker visibility off.
 

msawada

Member
Licensed User
Longtime User
I was wondering if you had a working project with CustomTileProvider in the googlemapsextras lib. When I try your code examples with my custom tiles in /storage/emulated/0/tiles, the Sub Get_Tile(TileX AsInt, TileY AsInt, Zoom AsInt) AsTile is never called from
CustomTileProvider1.Initialize(Null, "Get_Tile"). Do you have a small project available with a small tile set that I could try? I've been using the code you uploaded in #416 comment in the googlemapsextras thread.
 

warwound

Expert
Licensed User
Longtime User
I was wondering if you had a working project with CustomTileProvider in the googlemapsextras lib. When I try your code examples with my custom tiles in /storage/emulated/0/tiles, the Sub Get_Tile(TileX AsInt, TileY AsInt, Zoom AsInt) AsTile is never called from
CustomTileProvider1.Initialize(Null, "Get_Tile"). Do you have a small project available with a small tile set that I could try? I've been using the code you uploaded in #416 comment in the googlemapsextras thread.

I have just downloaded and compiled the CustomTileProvider example project from post #416.
I updated the path to the Google Play Services library resources, choose my signing key and then installed it on my Moto G (kitkat).
It works as expected, finds no tiles as my Moto G has no cached tiles.
But as you can see from the log, the 'Get_Tile' method is called:

** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
MapFragment1_Ready
GetTile X=32, Y20, Zoom=6
Tile not found: /storage/emulated/0/osmdroid/tiles/Mapnik/6/32/20.png.tile
GetTile X=32, Y21, Zoom=6
GetTile X=31, Y21, Zoom=6
GetTile X=31, Y20, Zoom=6
Tile not found: /storage/emulated/0/osmdroid/tiles/Mapnik/6/31/21.png.tile
GetTile X=32, Y19, Zoom=6
Tile not found: /storage/emulated/0/osmdroid/tiles/Mapnik/6/31/20.png.tile
Tile not found: /storage/emulated/0/osmdroid/tiles/Mapnik/6/32/19.png.tile
Tile not found: /storage/emulated/0/osmdroid/tiles/Mapnik/6/32/21.png.tile
GetTile X=31, Y19, Zoom=6
Tile not found: /storage/emulated/0/osmdroid/tiles/Mapnik/6/31/19.png.tile

You could try running your b4a project again, uncheck the 'Filter' checkbox in the b4a IDE and see if anything is logged that indicates what the problem is.

Or you could upload your project and i'll try it on my device.

By the way - what device are you running your project on?

Martin.
 

msawada

Member
Licensed User
Longtime User
I have just downloaded and compiled the CustomTileProvider example project from post #416.
I updated the path to the Google Play Services library resources, choose my signing key and then installed it on my Moto G (kitkat).
It works as expected, finds no tiles as my Moto G has no cached tiles.
But as you can see from the log, the 'Get_Tile' method is called:



You could try running your b4a project again, uncheck the 'Filter' checkbox in the b4a IDE and see if anything is logged that indicates what the problem is.

Or you could upload your project and i'll try it on my device.

By the way - what device are you running your project on?

Martin.

Thanks for the quick reply Martin. I've done the same with your #416 code simply changed the #AdditionalRes: to my Play Services res: e.g.,:

#AdditionalRes: C:\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms

And referenced my maps key in the manifest and have your package name as being allowed on the developer console credentials - this works for other code examples of yours so it should do so here. I've also ran successfully your example with urlTileProvider in post #53 of the google maps tutorials and it works fine. I've even tried with OSMDroid cached tiles in the same path as in your exact zip example for the custom provider above and the program program compiles and installs, zooms to the point in norfolk but no tiles show and the continuing issue is that the Get_Tile is still not called. My unfiltered log stops here:

** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
MapFragment1_Ready

whereas the unfiltered log shows things I don't readily understand, here is a bit of it but I've uploaded the txt file of the unfiltered log as well. Do you know what the issue may be:
I am using B4A 4.30, Nexus 10 Android 5.1

>>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<<


CheckJNI is OFF


Couldn't load memtrack module (No such file or directory)
failed to load memtrack module: -2
Calling main entry com.android.commands.am.Am
START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=uk.co.martinpearman.b4a.googlemapdemo/.main} from uid 2000 on display 0
addAppToken: AppWindowToken{39330547 token=Token{35bfe886 ActivityRecord{38776561 u0 uk.co.martinpearman.b4a.googlemapdemo/.main t821}}} to stack=1 task=821 at 0
Adding window Window{24971b0c u0 Starting uk.co.martinpearman.b4a.googlemapdemo} at 6 of 12 (after Window{3212efb2 u0 com.winzip.android/com.winzip.android.activity.filebrowser.SDCardBrowser})
Shutting down VM
Start proc 28742:uk.co.martinpearman.b4a.googlemapdemo/u0a128 for activity uk.co.martinpearman.b4a.googlemapdemo/.main
Explicit concurrent mark sweep GC freed 704(30KB) AllocSpace objects, 0(0B) LOS objects, 39% free, 7MB/11MB, paused 203us total 14.682ms
Explicit concurrent mark sweep GC freed 7(240B) AllocSpace objects, 0(0B) LOS objects, 40% free, 7MB/11MB, paused 183us total 10.386ms
Explicit concurrent mark sweep GC freed 5(160B) AllocSpace objects, 0(0B) LOS objects, 40% free, 7MB/11MB, paused 282us total 11.832ms
Explicit concurrent mark sweep GC freed 20563(958KB) AllocSpace objects, 2(32KB) LOS objects, 26% free, 43MB/59MB, paused 1.019ms total 84.375ms


Use EGL_SWAP_BEHAVIOR_PRESERVED: true


Validating map...


Adding window Window{31fb16d3 u0 uk.co.martinpearman.b4a.googlemapdemo/uk.co.martinpearman.b4a.googlemapdemo.main} at 6 of 13 (before Window{24971b0c u0 Starting uk.co.martinpearman.b4a.googlemapdemo})
Initialized EGL, version 1.4


Enabling debug mode 0
new_window_surface returns 0x3000
Adding window Window{37196109 u0 uk.co.martinpearman.b4a.googlemapdemo/uk.co.martinpearman.b4a.googlemapdemo.main} at 7 of 14 (before Window{24971b0c u0 Starting uk.co.martinpearman.b4a.googlemapdemo})


Switching to real app window: Window{31fb16d3 u0 uk.co.martinpearman.b4a.googlemapdemo/uk.co.martinpearman.b4a.googlemapdemo.main}


new_window_surface returns 0x3000


No package identifier when getting value for resource number 0x00000000


Failure retrieving resources for com.winzip.android: Resource ID #0x0
Displayed uk.co.martinpearman.b4a.googlemapdemo/.main: +1s148ms (total +54s541ms)


** Activity (main) Create, isFirst = true **


** Activity (main) Resume **


Making Creator dynamically


Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
Google Play services client version: 7095000


Google Play services package version: 7099436


MapFragment1_Ready


Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@eaf2841 attribute=null, token = android.os.BinderProxy@1af658c2


Skipped 36 frames! The application may be doing too much work on its main thread.
new_window_surface returns 0x3000


java.lang.IllegalArgumentException: Wrong number of arguments; expected 4, got 3


java.lang.IllegalArgumentException: Wrong number of arguments; expected 4, got 3


java.lang.IllegalArgumentException: Wrong number of arguments; expected 4, got 3
java.lang.IllegalArgumentException: Wrong number of arguments; expected 4, got 3
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Native Method)


at java.lang.reflect.Method.invoke(Method.java:372)
at uk.co.martinpearman.b4a.com.google.android.gms.maps.model.TileProviderImpl.getTile(TileProviderImpl.java:24)
at com.google.android.gms.maps.model.TileOverlayOptions$2.getTile(Unknown Source)
at com.google.android.gms.maps.model.internal.zzo$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:380)
at com.google.android.gms.maps.model.internal.ag.a(SourceFile:96)
at com.google.android.gms.maps.model.u.a(SourceFile:75)
at com.google.maps.api.android.lib6.gmm6.c.am.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.lang.IllegalArgumentException: Wrong number of arguments; expected 4, got 3
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at uk.co.martinpearman.b4a.com.google.android.gms.maps.model.TileProviderImpl.getTile(TileProviderImpl.java:24)
at com.google.android.gms.maps.model.TileOverlayOptions$2.getTile(Unknown Source)
at com.google.android.gms.maps.model.internal.zzo$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:380)
at com.google.android.gms.maps.model.internal.ag.a(SourceFile:96)
at com.google.android.gms.maps.model.u.a(SourceFile:75)
at com.google.maps.api.android.lib6.gmm6.c.am.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at at at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
java.lang.IllegalArgumentException: Wrong number of arguments; expected 4, got 3
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at uk.co.martinpearman.b4a.com.google.android.gms.maps.model.TileProviderImpl.getTile(TileProviderImpl.java:24)
at com.google.android.gms.maps.model.TileOverlayOptions$2.getTile(Unknown Source)
at com.google.android.gms.maps.model.internal.zzo$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:380)
at com.google.android.gms.maps.model.internal.ag.a(SourceFile:96)
at com.google.android.gms.maps.model.u.a(SourceFile:75)
at com.google.maps.api.android.lib6.gmm6.c.am.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
 

Attachments

  • unfilteredlog.txt
    187.4 KB · Views: 203
Last edited:

warwound

Expert
Licensed User
Longtime User
java.lang.IllegalArgumentException: Wrong number of arguments; expected 4, got 3

This is the important bit.
It's saying that it's trying to call a method and expects the method to have 4 parameters but the method only has 3 parameters.

B4X:
Get_Tile(TileX As Int, TileY As Int, Zoom As Int) As Tile

Or is the error saying that it's trying to call a method and expects the method to have 3 parameters but the method has 4 parameters?
That is you've inadvertently added a 4th parameter to your b4a Get_Tile method?

Can you double check that you haven't modified your Get_Tile method - check that it accepts 3 paramters and returns a Tile object?
Can you post the code you are running and i'll try it on my device.
 

msawada

Member
Licensed User
Longtime User
This is the important bit.
It's saying that it's trying to call a method and expects the method to have 4 parameters but the method only has 3 parameters.

B4X:
Get_Tile(TileX As Int, TileY As Int, Zoom As Int) As Tile

Or is the error saying that it's trying to call a method and expects the method to have 3 parameters but the method has 4 parameters?
That is you've inadvertently added a 4th parameter to your b4a Get_Tile method?

Can you double check that you haven't modified your Get_Tile method - check that it accepts 3 parameters and returns a Tile object?
Can you post the code you are running and i'll try it on my device.

First, let me reiterate my appreciation for the help you are providing. I have just tested the project on my Nexus 4 with Android 4.4 Build KRT16S and it works. However, it does not work consistently on the Nexus 10 Android 5.1 Build LMY47D. That being said, I now after installing it on the Nexus 4 went back and installed it on the Nexus 10, no changes to code whatsoever, and it now works on the N10! However, again, that being said, it (Get_tile call) still won't work with rapid debugger only with legacy debug. Whereas before it would not work with either on the N10. I'm going to continue testing. I would really like to know what might be going on here? Why would it not work on the N10 and then work suddenly on the first compile after working on the N4?

I haven't modified the sub at all from your code. I can't upload the project because it is your demo code project and is too large for upload here. I've made a link here where you can download it:

https://dl.dropboxusercontent.com/u/29218183/CustomTileProvider.zip

The only differences from your code is the location referred to in the #AdditionalRes:

#AdditionalRes: C:\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms
And my key value in the manifest for Google Maps. The only other difference is the default location:

Dim Marker1 AsMarker
Marker1=GoogleMap1.AddMarker(45.393558,-75.706992, "You are here")
Dim CameraPosition1 AsCameraPosition
CameraPosition1.Initialize(45.393558,-75.706992, 17)
GoogleMap1.AnimateCamera(CameraPosition1)

At that location I have OSMDroid cached tiles on my android device in the same path as in your demo code.

My java sdk version is 23.0.2 and Platform tools are 22. I don't know if this may help in figuring out the issue, but the GroundOverlay example demo code installs and works but the overlay image is always truncated - does not show the entire image on the google map. I've tried endlessly to make any overlay align correctly with the map but even the demo code one does not, they all get truncated. I am mentioning this because perhaps it is related in some way? I could send you my demo code project via email. Perhaps it is an issue the the Nexus 10 or android versions I'm using?
 
Last edited:

me68

Member
Licensed User
Longtime User
It was easy to integrate MapsForgeTileProvider to our app - wow - thank's alot :)

But i have one issue, i can't fix till now: if i delete the cache of the app in Android/Settings/Apps and start without internet connection, no maps events are processed. Also AnimateCamera does not work to get a first view.

I'll tried this also with your maps example: same there: without internet connection AnimateCamera does not work. I need at least a small cache fragment, which i only get with internet connection. After this AnimateCamera also works without internet connection.

There is no problem with Google Maps - you need internet connection for their online maps. But with MapsForgeTileProvider you can use an maps app without internet connection, only using offline maps, but this fails.

Do you have any idea, how i can solve this issue?


Martin
 

warwound

Expert
Licensed User
Longtime User
@me68

I think that when an app uses a GoogleMap, when it is started for the first time, it needs an internet connection to verify the API key used by the GoogleMap.
Once the API key is verified the device can go offline and continue to work - and somewhere in the app data something is saved that says 'the API key has been verified and is ok'.

Clearing the app cache probably deletes the data that says the API key is verified and so the GoogleMap will no longer work until an internet connection is available.

When the device is online then Google Play Services probably also periodically re-verifies the API key.
 

me68

Member
Licensed User
Longtime User
Ah - good line of thought! I feel better now and stop all my experiments to solve this issue - thanks :)

Martin
 

wes58

Active Member
Licensed User
Longtime User
Hi Martin,
I have tried to change my application toolbar to toolbar from thread "Material Design 3 - Using a ToolBar as ActionBar" and found the problem with the StreetViewPanoramaViewActivity.
When I compile the app I get an error:
B4X:
java.lang.ClassCastException: com.x10.Home.main cannot be cast to android.support.v7.app.ActionBarActivity
at de.amberhome.objects.appcompat.ACToolBarWrapper.SetAsActionBar(ACToolBarWrapper.java:244)
at com.x10.Home.main._activity_create(main.java:660)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:187)
This error only appears when I add in my Main activity - #Extends: uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity:
B4X:
 #AdditionalRes: ..\resources
#AdditionalRes: D:\android-sdk\b4aNewLib\res\b4a_appcompat, de.amberhome.objects.appcompat
#AdditionalRes: D:\android-sdk\extras\android\support\v7\appcompat\res, android.support.v7.appcompat
#AdditionalRes: D:\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms
#Extends: android.support.v7.app.ActionBarActivity
#Extends: uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity
I think that the problem is that the StreetViewPanoramaViewActivity extends Activity and not ActionBarActivity required for this ToolBar.
Could you please have a look in your library if that's what the problem is and whether it is possible to fix it.

Wes
 

warwound

Expert
Licensed User
Longtime User
@wes58
Have a read of this post: https://www.b4x.com/android/forum/threads/google-maps-android-v2-tutorial.24415/page-23#post-250550

The StreetViewPanoramaView must be notified of changes to the Activity lifecycle.
It has various methods that enable you to do so, such as it's OnCreate OnPause and OnResume methods.
It also has methods such as OnDestroy and OnSaveInstanceState.
In a b4a project we can notify the StreetViewPanoramaView of the OnCreate, OnPause and OnResume Activity lifecycle changes but not the other changes such as OnDestroy.
In my tests this has not (yet) proved a problem but ideally we should ensure that all Activity lifecycle changes are notified to the StreetViewPanoramaView.

Try removing the line '#Extends: uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity' from your code.
Now in Activity_Pause, Activity_Resume and Activity_Create call the corresponding methods in the StreetViewPanoramaView.

This will probably work with no problems.
If you have problems then it'll be because one of the other lifecycle callbacks isn't being called - when the Activity onDestroy is called you'd ideally call the corresponding method in the StreetViewPanoramaView.
You might be able to use a little inline java to fix this - calling the onDestroy callback when the Activity is destroyed.

So try my first suggestion and if you have problems post again and i'll look at what inline java is required.
 

wes58

Active Member
Licensed User
Longtime User
@wes58
Have a read of this post: https://www.b4x.com/android/forum/threads/google-maps-android-v2-tutorial.24415/page-23#post-250550

Try removing the line '#Extends: uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity' from your code.
So try my first suggestion and if you have problems post again and i'll look at what inline java is required.

I tried as you suggested by removing the line '#Extends: uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity' but it doesn't work either.
The difference is - with this line in the code - the application fails at start up
Without this line - the application runs until I click on the button to initialize StreetViewPanoramaActivitiy (StreetVPVActivity.Initialize).
B4X:
java.lang.ClassCastException: com.x10.Home.main cannot be cast to uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity
    at uk.co.martinpearman.b4a.android.app.StreetViewPanoramaViewActivity.Initialize(StreetViewPanoramaViewActivity.java:13)
    at com.x10.Home.main._map_ready(main.java:6085)

Edit:
I did some more tests (which I probably shouldn't have done) and the only way I got it working is when:
- Line '#Extends:uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity' is included in the code
- and in your library StreetViewPanoramaViewActivity class extends ActionBarActivity
 
Last edited:

warwound

Expert
Licensed User
Longtime User
the application runs until I click on the button to initialize StreetViewPanoramaActivitiy (StreetVPVActivity.Initialize).

Ooops i should have said not to call that method.

Have you got everything working or do you still need help?
 

wes58

Active Member
Licensed User
Longtime User
Ooops i should have said not to call that method.

Have you got everything working or do you still need help?
Thanks. Everything is working fine now.

Edit:
I thought that I will try to prove your "Ooops" comment. Just tried it and if I don't call this method I get an error that "Object should first be initialized (StreetViewPanoramaViewActivity). Which I can understand, since I call StreetVPVActivity.RegisterStreetViewPanoramaViewCallbacks after that. How could I get away without calling this method?
I thought that I let you know about this test.

Anyway, it works for me fine the way I described in my previous email.
Thanks again for your help.
 
Last edited:

warwound

Expert
Licensed User
Longtime User
Presuambly your new class that extends ActionBarActivity does not have the fully qualified name of "uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity"?

So when you call the b4a wrapper class Initialize method it does not find an instance of uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity, instead it finds an instance of your class that extends ActionBarActivity and causes a ClassCastException.

B4X:
public void Initialize(BA pBA){
	setObject((uk.co.martinpearman.java.android.app.StreetViewPanoramaViewActivity) pBA.activity);
}

I've attached the source code for my 2 StreetViewPanoramaViewActivity classes, one class is the java class that extends Activity and the other is the b4a wrapper class.

Martin.
 

Attachments

  • StreetViewPanoramaViewActivity-src.zip
    2.5 KB · Views: 236

wes58

Active Member
Licensed User
Longtime User
I've attached the source code for my 2 StreetViewPanoramaViewActivity classes, one class is the java class that extends Activity and the other is the b4a wrapper class.

Martin.

Thanks Martin for your help. Everything is fine now
Wes
 
Top