• Stars
    star
    851
  • Rank 53,558 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 15 years ago
  • Updated almost 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[DEPRECATED] Simple information balloon annotation for Android MapView

Android MapView Balloons

DEPRECATED

Please use Google Maps Android API v2: https://developers.google.com/maps/documentation/android/

This project provides an easy way to annotate map overlay items with a simple information balloon when using the Android Maps external library (com.google.android.maps). It consists of BalloonOverlayView, a view representing the balloon that is displayed over your MapView and BalloonItemizedOverlay, an abstract extension of ItemizedOverlay.

Balloon  Balloon Pressed  Balloon2

Basic Usage

Create a subclass of BalloonItemizedOverlay in the same way you would do for the base ItemizedOverlay class. Rather than overriding onTap() (which is already implemented and final in the subclass to invoke the balloon view display for each item tap), you override onBalloonTap() to handle a screen tap event on the balloon itself.

The data displayed in each balloon is mapped to the title and snippet arguments you provide to the constructor of each OverlayItem.

The repository contains a working sample application project which fully demonstrates its usage.

Custom Layouts

custom

You can create your own balloon look & feel and custom data mapping by creating a subclass of BalloonOverlayView with a generic type that extends OverlayItem. Override the setupView(Context context, final ViewGroup parent) method and inflate your own XML layout using parent as the root of its view hierarchy.

One caveat with custom layouts is that you MUST include a layout container that represents the clickable action area of your balloon whose id property is android:id="@id/balloon_inner_layout".

An example custom layout and data mapping which downloads an image from the internet and displays it in an ImageView is included in the sample application project.

TapControlledMapView

This library also includes TapControlledMapView - an optional custom MapView implementation which can be used to more closely mimic behaviour of Google Maps for Android and the iOS MapKit component, such as double-tap to zoom and single-tap to dismiss a balloon.

Refer to the example Activity included in the sample application project.

Amazon Maps API & Kindle Fire

kindle

This library supports the alternative Amazon Maps API found on devices such as the 2nd generation Kindle Fire and Kindle Fire HD.

To enable Amazon Maps API support you should follow the Google Maps API migration instructions found at developer.amazon.com. Switch to the amazon-maps-api-support branch in this repository for an example. The library must be modified to use the com.amazon.geo.maps imports. You can use the mapimports.sh script to toggle between Google and Amazon APIs. This project does not currently provide a way to support both APIs in a single build.

Implementation

This project is implemented as an Android Library project. Refer to Referencing a library project in this document for instructions on how to include it in your own Android project. Ensure you have the latest Android SDK, tools and Eclipse plugin installed.

To install the library and sample project in Eclipse:

  • Select File, Import, Existing projects into workspace...
  • Select the root folder where you cloned/downloaded the repository to import both projects.
  • Use Project - Clean if there are any errors.

Credits

Author: Jeff Gilfelt

The code in this project is licensed under the Apache Software License 2.0.
Copyright © 2012 readyState Software Ltd.

More Repositories

1

SystemBarTint

[DEPRECATED] Apply background tinting to the Android system UI when using KitKat translucent modes
Java
5,367
star
2

chuck

An in-app HTTP inspector for Android OkHttp clients
Java
4,670
star
3

android-viewbadger

[DEPRECATED] A simple way to "badge" any given Android view at runtime without having to cater for it in layout
Java
3,019
star
4

android-sqlite-asset-helper

An Android helper class to manage database creation and version management using an application's raw asset files
Java
2,145
star
5

android-actionbarstylegenerator

[DEPRECATED] Easily create a simple, attractive and seamless custom action bar style for your Android application
JavaScript
1,006
star
6

android-adt-templates

A small collection of ADT templates to help quickly scaffold common Activity and UI patterns.
633
star
7

GhostLog

Android app that displays the logcat buffer in a system overlay window
Java
382
star
8

androidicons-adt-template

Android Studio / Eclipse ADT template for androidicons.com resources
190
star
9

android-simpl3r

Amazon S3 multipart file upload for Android, made simple
Java
182
star
10

android-resource-navigator

Chrome Extension providing enhanced resource navigation for GitHub hosted Android projects
JavaScript
170
star
11

NotificationLog

Use an expanded notification as a makeshift Android log output console
Java
160
star
12

android-protobuf-example

Google Protocol Buffer Example on Android
Java
91
star
13

ThisWayUp

Sample app for my Droidcon London 2013 talk - "This Way Up: Implementing Effective Navigation"
Java
84
star
14

android-jsonarrayadapter

An easy adapter to map JSON data to views defined in an XML layout
Java
66
star
15

android-countdown

A simple Android chronometer view that counts down to a given time
Java
32
star
16

SQLook

Examine an Android SQLite database using a client application of your choice
Python
22
star
17

RoughCut

Experimental port of Android's private video editor API
Java
16
star
18

android-sdk-samples-search

[DEPRECATED] Chrome extension that adds a 'sample code' link for class references at developer.android.com
JavaScript
15
star
19

android-geras

Android sensor feed for Geras IoT time series database
Java
11
star
20

Novocation

An attempt jar-ify location.
Java
6
star