stephenwang1011 / robotium

Automatically exported from code.google.com/p/robotium
0 stars 0 forks source link

Support for maps #291

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Please incorporate the changes provided:

        public Solo(Instrumentation instrumentation, Activity activity) {
        ...
        this.mapViewUtils = new MapViewUtils(instrumentation, viewFetcher, sleeper);
    }

    public void setMapCenter( double lat, double lon ) {
        mapViewUtils.setCenter(lat, lon);
    }

    public boolean zoomInOnMap() {
        return mapViewUtils.zoomIn();
    }

    public boolean zoomOutOnMap() {
        return mapViewUtils.zoomOut();
    }

    public int setMapZoom( int zoomLevel ) {
        return mapViewUtils.setZoom(zoomLevel);
    }

    public List<String> getMapMarkerItems() {
        return mapViewUtils.getMarkerItems();
    }
------------------

Original issue reported on code.google.com by nalb...@gmail.com on 3 Jul 2012 at 7:22

Attachments:

GoogleCodeExporter commented 9 years ago
I think it is more appropriate to offer this as an extension to Robotium 
instead of including it directly into the API. This is a functionality that 
most users will not use. It will make the API even more crowded then it is 
without giving any value to the majority of users.

Pinch to zoom would be great to include. Please perform a new pull request with 
that functionality if you get it to work.

Original comment by renasr...@gmail.com on 1 Aug 2012 at 12:26

GoogleCodeExporter commented 9 years ago
In case anybody is interested in support for maps, I've created an extension as 
suggested:

https://github.com/nalbion/robotium-maps

Original comment by nalb...@gmail.com on 2 Aug 2012 at 7:23

GoogleCodeExporter commented 9 years ago
Thank you for writing the extension Nicholas. 
I have tried it and it is very helpful but I am not able to 
getMapMarkerItems(). Is this functionality currently not working or is there 
something special I have to do to get it to work?

Original comment by mark.mil...@gmail.com on 11 Jan 2013 at 10:30

GoogleCodeExporter commented 9 years ago
I tried to use this extension to perform click on marker in googlemapsv2, but 
seems that the extension is based on googlemapsv1.
The logic used to perform the click on markers is 
1) get the list of markers for that map by calling getOverlays() , t
2) then iterating over this list and comparing the title of the markers with 
the string passed as argument.
3) when matching marker is found perform click on that.
But as we don't have any functionality in googlemapsv2 that return the list of 
markers, so this extension for clicking on markers will not work with google 
maps v2.

Original comment by rajantal...@gmail.com on 20 Jun 2014 at 10:01

GoogleCodeExporter commented 9 years ago
I haven't had anything to do with Android development/testing for a while - 
that may change within the next 12-24 months.

The Robotium Maps (and Calabash Maps) was written for the old Android maps API 
before the new Fragments API was introduced.

If anyone wants to take this on, SoloExtended.getMap() needs to be refactored 
to support a MapView within a MapActivity (as it does now), or a 
(Support)MapFragment which allows you to obtain a GoogleMap object.

Typical of Google - the GoogleMap class is final.  I don't suppose Android 
would let you use an aspects to intercept calls to GoogleMap.addMarker()?

- http://www.slideshare.net/anjosc/aop-codebits2011
- http://code.google.com/p/android-aspectj/

Failing that - does Class.getDeclaredMethods() or Class.getDeclaredFields() 
provide anything that may be useful?

Original comment by nalb...@gmail.com on 24 Jun 2014 at 7:42