yuvaraj119 / android-maps-extensions Goto Github PK
View Code? Open in Web Editor NEWandroid-maps-extensions
android-maps-extensions
Hi,
Great work you're doing!
I am wondering if it's possible to combine your extensions with the
SherlockMapFragment? I have been unsuccessfully trying to combine them, I could
really use getMarker() and clustering would also be great in my app :)
Thanks,
Martijn
Original issue reported on code.google.com by [email protected]
on 23 Apr 2013 at 8:57
The Google Maps for Business SDK has a different package name, which causes
many of the references to break.
https://developers.google.com/maps/documentation/business/mobile/android/
Original issue reported on code.google.com by [email protected]
on 31 Dec 2013 at 12:24
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
init with:
GoogleMap map = f.getExtendedMap();
ClusteringSettings settings = new ClusteringSettings();
settings.iconDataProvider(new DemoIconProvider(getResources()));
settings.addMarkersDynamically(true);
map.setClustering(settings);
MarkerOptions options = new MarkerOptions().position(new LatLng(50, 0)).title("title");
Marker marker = map.addMarker(options);
and later (e.g. on button click):
marker.showInfoWindow();
and pan to show the marker.
What is the expected output? What do you see instead?
Info window should appear above the marker.
Original issue reported on code.google.com by [email protected]
on 17 May 2013 at 1:11
I am attempting to show user location and let them choose their location,
within their accuracy range, but its non-trivial to zoom to show their accuracy
at the most detailed level.
There is no easy method to zoom to a circle, while showing the entire circle,
especially near the poles.
Original issue reported on code.google.com by [email protected]
on 18 Jun 2013 at 11:50
Hi
I've implemented your library(thanks :-D) but I need to filter my pins.
It happened on recalculate() method in GridClusteringStrategy class
Exactly, in line 268 there is this sentence:
List<DelegatingMarker> ms = cluster.getMarkersInternal();
DelegatingMarker first = ms.get(0);
Sometimes, ms is empty, so the exception is thrown, and so the app is closed.
So I added an extra line between those sentences, leaving it this way:
List<DelegatingMarker> ms = cluster.getMarkersInternal();
if(ms.isEmpty())continue;
DelegatingMarker first = ms.get(0);
Now it works fine, but I'm not sure if this is the best solution.
Thank you.
Original issue reported on code.google.com by [email protected]
on 1 Jul 2013 at 9:03
Will be very usefull if will be possible add market which will not be grouped
with another and will be still visible. For example I need to display search
result and then POIs arount it and search result locaiton must be still
visibled.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2013 at 10:07
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
1) Launch Android Emulator with Google APIs Level 17
2) Check Maps app is working correctly with Google Maps Android API v2
3) Run android-maps-extensions-demo and check message
"Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above".
What is the expected output?
Demo works fine with Google Maps Android API v2.
What do you see instead?
Empty map with [+]/[-]/[my location] buttons.
Original issue reported on code.google.com by [email protected]
on 18 Jun 2013 at 10:56
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
I'm writing a sample app as a proof of concept.
I'm loading the map, and adding 2000 markers. Nothing else.
When markers are being added the map does not react to any touches. I've got
the zoom in/out controls on screen, I can tap them but there's no response.
After the markers are added there's still no response from the map.
When I suspend the app and resume it, I can see the map refreshed to the zoom
level and position just like all of my actions from before the suspension were
interpreted. The map is responsive.
What is the expected output? What do you see instead?
I would expect the map to be responsive after I load the markers.
I believe I'm doing something wrong here, but I would be grateful for a pointer.
Thanks
BTW.
Great work!
Original issue reported on code.google.com by [email protected]
on 21 Sep 2013 at 6:38
Hi
I wonder if there could be any options to cluster by marker type.
I mean, now I've got four diferent marker icons, and I want to cluster only
between them.
Thank you for this wonderful library :-)
Original issue reported on code.google.com by [email protected]
on 13 Jun 2013 at 3:36
Add a field and methods to the marker interface that would allow markers to be
excluded from clusters.
e.g.
void excludeFromClusters(boolean exclude);
Then, modify other clustering classes to check this property before clustering.
Original issue reported on code.google.com by [email protected]
on 4 Dec 2013 at 6:09
I have downloaded the zip file from here and imported "android-maps-extensions"
and "android-maps-extensions-demo" into my Eclipse workspace. The project
"android-maps-extensions" has an error in the "SupportMapFragment.java" file
which is "The hierarchy of the type SupportMapFragment is inconsistent". Also,
after I corrected the build path in "android-maps-extensions-demo" to point at
"android-maps-extensions" and this won't start as "The container "Android
Dependencies" references non existing library
"MAP_TO_PROJECT\bin\android-maps-extensions.jar"". I cannot find said jar file
anywhere. Am I doing something fundamentally wrong - all I wanted to do is to
get the demo working so I could check it out before possibly adding it to a
project of mine.
I would be really grateful for any help.
Many thanks.
Original issue reported on code.google.com by [email protected]
on 15 Jul 2013 at 3:20
1.3.1 version + Google Play Services r9
1) Add markers by map.addMarker(markerOptions);
2) Remove all markers by marker.remove();
3) After this zoom-in or zoom-out to call onCameraChange event
1.2 - ok
Stacktrace:
08-01 04:36:46.536: ERROR/AndroidRuntime(25742): FATAL EXCEPTION: main
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at pl.mg6.android.maps.extensions.impl.GridClusteringStrategy.recalculate(GridClusteringStrategy.java:268)
at pl.mg6.android.maps.extensions.impl.GridClusteringStrategy.onCameraChange(GridClusteringStrategy.java:92)
at pl.mg6.android.maps.extensions.impl.DelegatingGoogleMap$DelegatingOnCameraChangeListener.onCameraChange(DelegatingGoogleMap.java:442)
at com.google.android.gms.maps.GoogleMap$2.onCameraChange(Unknown Source)
at com.google.android.gms.internal.cn$a.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:347)
at bgs.a(SourceFile:93)
at maps.ah.s.a(Unknown Source)
at maps.ah.t.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Original issue reported on code.google.com by [email protected]
on 1 Aug 2013 at 12:49
Hi,
I need to draw some text on the markers only in the visible markers. And it's
necessary to update these texts when a button is pressed.
There is an alternative to do that?
Thanks
Original issue reported on code.google.com by [email protected]
on 26 Dec 2013 at 10:28
Looks like non clustered markers are not drawing after move via camera
animation.
Steps:
- initial state is zoomed;
- see 01_initial_state;
- start to move camera via next code
CameraUpdate cameraUpdate =
CameraUpdateFactory.newLatLngBounds(builder.build(), 20);
- see 02_after_camera_animation, it's wrong;
- try to zoom out via map button "-" markers clustering, but single still
missing;
- see 03_after_zoom_out, it's wrong;
- scroll (drug) map and missing single markers will apear;
- see 04_after_scroll, it's correct.
Original issue reported on code.google.com by [email protected]
on 15 Aug 2013 at 1:48
Attachments:
I am working on a map with a bunch of markers. In some parts of the code I call
myMap.getMarkers() to obtain a List of them. I happen to find a different order
within this list in every call.
I expected the list to be in the same order as when the markers were initially
added to the map.
Which is the logic followed by this method?
Thanks and regards
Original issue reported on code.google.com by [email protected]
on 16 May 2014 at 7:03
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
add a draggable marker to the map, drag it somewhere, zoom out until it gets
"swallowed" by a cluster
What is the expected output?
dragged marker incorporated into cluster
What do you see instead?
app crashes with an out of index error (if I remember correctly) in
GridClusteringStrategy. A fix seems to be adding if (ms.size()>0) at line 267
Original issue reported on code.google.com by [email protected]
on 6 Jun 2013 at 4:17
Link to the Google Play Service library as an external project instead of
embedding it.
Original issue reported on code.google.com by [email protected]
on 22 Nov 2013 at 8:57
Attachments:
(if this already exists, please let us know how to do so)
Google map v2 in August 2013 Added a snapshot() method to the GoogleMap.
https://developers.google.com/maps/documentation/android/releases#august_2013
I can use it with google-play-services_lib,but can't use by
android-maps-extensions.
how can i do ??
I really want to use this method>< thank!
Original issue reported on code.google.com by [email protected]
on 31 Aug 2013 at 7:47
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
Take the DemoActivity and replace addMarkersInPoland and addMarkersInWorld with
a method that adds about 15000-20000 different points to the map.
What is the expected output? What do you see instead?
The map should be not laggy and responsive when using Clustering.
Especially in nearer zoom levels it becomes very laggy, because the size of
clusters decreases. Maybe it should only care about the visible markers in
order to keep a good performance. The offscreen markers could be removed and
added on demand. This is more a feature request than a bug report, but for my
purpose, as a clustering solution, the library is only usefull if it can also
handle a really big amount of markers.
Original issue reported on code.google.com by [email protected]
on 20 Mar 2013 at 5:08
Can you extend Polaris2 instead of directly the Google Maps api? His library is
built to be a base for what you are doing?
https://github.com/cyrilmottier/Polaris2
Original issue reported on code.google.com by [email protected]
on 2 May 2013 at 6:37
Hi,
I am just checking out this library looks exactly what I need, thanks for the
effort.
I am just playing around with it and I would like to create custom map markers
for individual pins (I have worked out custom cluster icons.)
As this is an extension of Google Maps v2 I would assume that the normal method
would work for creating custom markers however it is still using the standard
icons.... am I missing something or is this functionality not handled by the
library?
My code :
Marker m = map.addMarker(new MarkerOptions()
.position(data.position)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.map_pin)));
m.setData(data);
All the best
Original issue reported on code.google.com by [email protected]
on 19 Apr 2013 at 1:22
Will be great if would be possible to fill all markers from background thread
to avoid blocking UI thread during load and fill data. Now maps extension use
internal collection to keep all markers (or others map object). For example if
I want to create markers from downloaded JSON file I must download and parse
JSON in background thread and put all POIs to the same collection and then back
in UI thread fill it to the map. Much easy and memory save will be store it
directly to the maps extensions internal collection and after all will be done
only call same method with display all data on the map
Original issue reported on code.google.com by [email protected]
on 10 Apr 2013 at 5:32
Thanks for library. I have problem...The map markers are of different types.
The problem that the markers of different types are clustered together. Is it
possible to cluster the markers by type in different clusters? Sorry for my
English ...
Original issue reported on code.google.com by [email protected]
on 21 Jun 2013 at 9:55
The v13 library includes the v4 library and will make this package easier to
add to newer apps.
Original issue reported on code.google.com by [email protected]
on 21 Nov 2013 at 1:19
This is not so much of a bug (and certainly is of a lowest priority), but still
might be in line with AMEs' mission of "improving GMaps":
Due to anomalies in my geospatial data, several markers appear to have exactly
the same lat/long. When they are plotted on the map, they're always kept
together as a cluster, clicking on which gives no visual feedback (btw, that's
wonderful idea in the sample app to reposition camera to scale to the cluster
content on click).
Any idea how to work around such situation?
Original issue reported on code.google.com by [email protected]
on 25 Jul 2013 at 10:49
NPE occured in "Declusterification" Demo.
The problem occured when changing CameraView (principaly when map Tilted).
The following line seems to return a Null object.
LatLng nextPosition = projection.fromScreenLocation(point);
Regards
Original issue reported on code.google.com by [email protected]
on 20 Dec 2013 at 5:25
The extensions library doesn't support the new GoogleMap.onMapLoadedCallback().
https://developers.google.com/maps/documentation/android/reference/com/google/an
droid/gms/maps/GoogleMap.OnMapLoadedCallback
This would be a great addition to the extensions library, as it allows the
developer to know when the map isn't just tiles on the handset's screen. Will
we see this in an update to the extensions library, or is there a workaround to
include this easily?
Thank you.
Original issue reported on code.google.com by [email protected]
on 20 Nov 2013 at 6:30
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
Use LazyMarker.java's LatLng getPosition() method without try/catch statements.
What is the expected output? What do you see instead?
Exceptions should be gracefully handled. Instead the app crashes!!!
Original issue reported on code.google.com by eazyigz
on 3 Sep 2013 at 1:15
Attachments:
Hello
I am very thankful that you are extending the android map v2 as its really
needed. I am having the requirement of drawing the arc like line between two
points. You think you can help me with that.
Thanks in advance
Original issue reported on code.google.com by [email protected]
on 3 Apr 2013 at 10:02
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
1. initialize(add to map) a marker with custom bitmap icon
2. when marker A is clicked, it's icon need to be changed to another bitmap
3. So, I put marker.setIcon(some_new_bitmapDescripter) in the marker's
onMarkerCLick callback
4. it seems work fine first
5. but after create and click some markers repeatedly, app crashes with
exception
What is the expected output? What do you see instead?
I want to see markers changing their icon when clicked. but, exception comes
like below...
--------------------------------------------
java.lang.IllegalArgumentException: Released unknown bitmap reference
at maps.aq.o.a(Unknown Source)
at maps.af.n.b(Unknown Source)
at maps.af.bk.a(Unknown Source)
at cpe.onTransact(SourceFile:204)
at android.os.Binder.transact(Binder.java:326)
at com.google.android.gms.maps.model.internal.d$a$a.i(Unknown Source)
at com.google.android.gms.maps.model.Marker.setIcon(Unknown Source)
at com.androidmapsextensions.lazy.LazyMarker.setIcon(LazyMarker.java:185)
at com.androidmapsextensions.impl.DelegatingMarker.setIcon(DelegatingMarker.java:188)
at com.livecity.s.activity.MainActivity.focusOnMarker(MainActivity.java:365)
Original issue reported on code.google.com by [email protected]
on 15 Jan 2014 at 8:49
Usual use case: allowing user to interact with single marker.
float zoom = map.getMinZoomNotClustered(marker);
map.animateCamera(CameraUpdateFactory.newLatLngZoom(marker.getPosition(),
zoom));
Original issue reported on code.google.com by [email protected]
on 14 Apr 2013 at 11:37
Hi, firstly; thanks for your great extension, your clustering library is really
useful, I had partly built one myself but it was quite buggy.
I've got a bit stuck while trying to access the displayed markers, I can access
all of the markers, but ideally I was to get the clustered ones.
I'm currently using an onClickListener in a list of places I've got, what I
want it to do, is when a place is clicked, find where it is clustered and keep
zooming into that location until it is no longer clustered and then show the
infowindow.
I've tried doing map.getMarkers(); but it just shows all the markers from my
result. Is there any way to get the visible (clustered) markers?
If not it would be great to be able to do it. Thanks!
Original issue reported on code.google.com by [email protected]
on 12 Apr 2013 at 11:04
If all the Markers inside of two different clusters are located near to the
cluster boarder of the two clusters the Cluster Markers overlaps.
If the ClusterMarkers are close together they should be clustered together.
It woulb be nice if you could add such a feature.
Original issue reported on code.google.com by [email protected]
on 22 Sep 2013 at 5:15
Attachments:
Hi,
Thanks for your library, it is very helpful !
It would be a good thing to mavenize this project, many users use a maven
configuration and the dependencies management is really easier !
Do you know how do that ? If you want some help, don't hesitate to ask me ;)
Original issue reported on code.google.com by [email protected]
on 25 Mar 2013 at 10:14
In the DemoActivity replace OnClusterClick with this:
public void onClusterClick(View view) {
map.clear();
map.setClustering(new ClusteringSettings().iconDataProvider(new DemoIconProvider(getResources())));
MarkerGenerator.addMarkersInPoland(map);
MarkerGenerator.addMarkersInWorld(map);
}
Then run the app and click Cluster twice
When inserting a lot of data like in the above example you'll see appearing the
markers and then the clusters.
It could be useful some function to massively add markers and directly display
the clusters without inserting and deleting the markers on the map
Original issue reported on code.google.com by [email protected]
on 20 Mar 2013 at 9:53
I've a lot of poi in the map(22k), so I dynamically add and remove markers as
the maps is scrolled or zoomed in/out.
In this case clustering isn't working, because in
DelegatingOnCameraChangeListener.onCameraChange
clusteringStrategy.onZoomChange is called - and new cluster is calculated
then
onCameraChangeListener.onCameraChange is called - and new data is inserted but
clusters are not updated.
These functions should be called in reverse order, so that
clusteringStrategy.onZoomChange is called with the new data and cluster could
be correctly computed
Original issue reported on code.google.com by [email protected]
on 20 Mar 2013 at 5:17
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
Use LazyMarker.java's LatLng getPosition() method without try/catch statements.
What is the expected output? What do you see instead?
Exceptions should be gracefully handled. Instead the app crashes!!!
Original issue reported on code.google.com by eazyigz
on 3 Sep 2013 at 1:15
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
map.setClustering(new ClusteringSettings() //
.iconDataProvider(new ClusterIconDataProvider(getResources())) //
.clusterSize(96) //
.addMarkersDynamically(true));
// add about 200 markers
marker.showInfoWindow(); // not cluster, visible
What is the expected output? What do you see instead?
Info window bubble expected, but nothing happens.
Looks like
pl.mg6.android.maps.extensions.lazy.LazyMarker.java line 166
have marker == null
lib version 1.3
Original issue reported on code.google.com by [email protected]
on 16 May 2013 at 6:10
it would be great to have a variable that you could set for the minimum amount
of markers possible in a cluster - sometimes you end up with the screen full of
clusters of 2 or 3 which adds alot of clicking.
I worked around it by setting a camera changed listener on the map and
unclustering when the zoom level got above 16 (which seems reasonable) but
there is probably a smarter way to do this.
thanks again for the awesome library, by the way.
Original issue reported on code.google.com by [email protected]
on 6 Jun 2013 at 4:04
I use google maps extensions library in my app, when I update android version
to 5.0 I get NullPointerException at line:
GoogleMap *map;
mMap = ((SupportMapFragment)
getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getExtende
dMap();
When I debug this line, I detect that findFragmentById(R.id.map) is null.
Why R.Id.map is null? All project was compiled correctly.
Version of android-maps-exetnsions is 2.1.0.
Can anybody help me?
Thanks.
layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mapParent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="fill_horizontal" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.androidmapsextensions.SupportMapFragment" />
</RelativeLayout>
LogCat:
12-08 11:56:57.544: E/AndroidRuntime(20846): FATAL EXCEPTION: main
12-08 11:56:57.544: E/AndroidRuntime(20846): java.lang.NullPointerException
12-08 11:56:57.544: E/AndroidRuntime(20846): at
com.analyticadesign.eds.MapPage.setUpMapIfNeeded(MapPage.java:422)
12-08 11:56:57.544: E/AndroidRuntime(20846): at
com.analyticadesign.eds.MapPage.onActivityCreated(MapPage.java:321)
12-08 11:56:57.544: E/AndroidRuntime(20846): at
android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1794)
...
Original issue reported on code.google.com by [email protected]
on 10 Dec 2014 at 8:19
Finally, got some time to try Maps Extensions for my app. Migration went
smooth, although docs are scarce (and i can probably be considered GMaps power
user, having thus a competitive advantage;-).
One thing that is probably worth improving is to implement some default cluster
icons.
What i intuitively did (after updating imports) was to add this line to my code:
googleMap.setClustering(new ClusteringSettings().addMarkersDynamically(true));
After that my app went bust:
java.lang.NullPointerException
at
pl.mg6.android.maps.extensions.impl.BaseClusteringStrategy.getIconData(BaseClust
eringStrategy.java:68)
at
pl.mg6.android.maps.extensions.impl.BaseClusteringStrategy.getFromCacheOrCreate(
BaseClusteringStrategy.java:59)
at
pl.mg6.android.maps.extensions.impl.ClusterMarker.refresh(ClusterMarker.java:80)
at
pl.mg6.android.maps.extensions.impl.ClusterRefresher.refreshAll(ClusterRefresher
.java:52)
at
pl.mg6.android.maps.extensions.impl.GridClusteringStrategy.recalculate(GridClust
eringStrategy.java:327)
at
pl.mg6.android.maps.extensions.impl.GridClusteringStrategy.onCameraChange(GridCl
usteringStrategy.java:92)
at
pl.mg6.android.maps.extensions.impl.DelegatingGoogleMap$DelegatingOnCameraChange
Listener.onCameraChange(DelegatingGoogleMap.java:446)
Sure, it's trivial to grab DemoIconProvider implementation along with some
resources from sample project, but it'd be nice to have it out of the box.
Original issue reported on code.google.com by [email protected]
on 24 Jul 2013 at 3:53
If some markers are located to close to each other, there is no way to show
them separately (even in max zoom level).
Original issue reported on code.google.com by [email protected]
on 18 May 2013 at 1:09
This package is missing its own MapFragment class.
I suspect that is because it currently uses the v4 support library. If this
project switches to the v13 support library, that should enable the project to
implement its own MapFragment class, extending the one provided in the Google
library.
Original issue reported on code.google.com by [email protected]
on 21 Nov 2013 at 1:23
What steps will reproduce the problem? Please provide sscce (short, self
contained, correct example) when possible.
1) Run demo app
3) Click Narvik / Tromsr (Norway) cluster
4) Zoom in
What is the expected output? What do you see instead?
Info window disappears, when cluster is not changed in any way (markers count
inside).
Original issue reported on code.google.com by [email protected]
on 14 Apr 2013 at 11:42
Method always throws exception.
old:
@Override
public void hideInfoWindow() {
if (virtual != null) {
virtual.hideInfoWindow();
}
throw new UnsupportedOperationException();
}
new:
@Override
public void hideInfoWindow() {
if (virtual == null) throw new UnsupportedOperationException();
virtual.hideInfoWindow();
}
Original issue reported on code.google.com by [email protected]
on 24 Jul 2013 at 10:57
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.