More Related Content Similar to Mashup caravan android-talks Similar to Mashup caravan android-talks (20) Mashup caravan android-talks2. n
n / @honjo2
n
n
n
n
n
n API
n
n Mapion Android Maps API
5. 1. API
n http://labs.mapion.co.jp/api/androidmaps/register.html
2. jar
n http://labs.mapion.co.jp/api/dl/maps-0.8.jar
3. AndroidManifest.xml
n <uses-permission android:name="android.permission.INTERNET"
/>
7. (1/2)
public class MainActivity extends MapActivity {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
MapView mapView = new MapView(this,
APIKEY");
mapView.setClickable(true); // false
setContentView(mapView);
}
}
8. (2/2)
n
n http://gist.github.com/635850
n /
10. (2/2)
n
n http://gist.github.com/635882
n /
12. (2/2)
n
n http://gist.github.com/635917
n /
13. (1/2)
Overlay circle = new Overlay() {
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
mapView,
if (!shadow) {
GeoPoint p = new GeoPoint((int) (35.641625 * 1E6),
GeoPoint((int)
(int) (139.749803 * 1E6));
int)
Point pos = mapView.getProjection().toPixels(p, null);
mapView.getProjection().toPixels(p, null);
Paint paint = new Paint();
paint.setColor(Color.argb(150, 255, 0, 255));
paint.setColor(Color.argb(150,
paint.setAntiAlias(true);
paint.setAntiAlias(true);
canvas.drawCircle(pos.x, pos.y, 30.0f, paint);
canvas.drawCircle(pos.x, pos.y,
}
}
};
mapView.getOverlays().add(circle);
mapView.getOverlays().add(circle);
14. (2/2)
n
n http://gist.github.com/635930
n /
15. (1/2)
Overlay line = new Overlay() {
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
mapView,
if (!shadow) {
GeoPoint one = new GeoPoint((int) (35.641625 * 1E6), (int) (139.749803 *
GeoPoint((int) (int) 1E6));
GeoPoint two = new GeoPoint((int) (35.642625 * 1E6), (int) (139.747803 *
GeoPoint((int) (int) 1E6));
GeoPoint three = new GeoPoint((int) (35.642625 * 1E6), (int) (139.750803
GeoPoint((int) (int) * 1E6));
Point onePoint = mapView.getProjection().toPixels(one, null);
mapView.getProjection().toPixels(one, null);
Point twoPoint = mapView.getProjection().toPixels(two, null);
mapView.getProjection().toPixels(two, null);
Point threePoint = mapView.getProjection().toPixels(three, null);
mapView.getProjection().toPixels(three, null);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setAntiAlias(true);
paint.setStrokeWidth(4);
paint.setStyle(Paint.Style.STROKE);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.argb(150, 255, 0, 255));
paint.setColor(Color.argb(150,
canvas.drawLines(new float[]{onePoint.x, onePoint.y, twoPoint.x, twoPoint.y,
canvas.drawLines(new float[]{onePoint.x, onePoint.y, twoPoint.x, twoPoint.y,
twoPoint.x, twoPoint.y, threePoint.x, threePoint.y}, paint);
twoPoint.x, twoPoint.y, threePoint.x, threePoint.y},
}
}
};
mapView.getOverlays().add(line);
mapView.getOverlays().add(line);
16. (2/2)
n
n http://gist.github.com/635942
n /
17. (1/2)
Overlay polygon = new Overlay() {
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
mapView,
if (!shadow) {
GeoPoint one = new GeoPoint(35641625, 139749803);
GeoPoint two = new GeoPoint(35642625, 139747803);
GeoPoint three = new GeoPoint(35642625, 139751803);
Point onePoint = mapView.getProjection().toPixels(one, null);
mapView.getProjection().toPixels(one, null);
Point twoPoint = mapView.getProjection().toPixels(two, null);
mapView.getProjection().toPixels(two, null);
Point threePoint = mapView.getProjection().toPixels(three, null);
mapView.getProjection().toPixels(three, null);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setAntiAlias(true);
paint.setColor(Color.argb(150, 255, 0, 255));
paint.setColor(Color.argb(150,
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
Path path = new Path();
path.moveTo(onePoint.x, onePoint.y);
path.moveTo(onePoint.x, onePoint.y);
path.lineTo(twoPoint.x, twoPoint.y);
path.lineTo(twoPoint.x, twoPoint.y);
path.lineTo(threePoint.x, threePoint.y);
path.lineTo(threePoint.x, threePoint.y);
path.lineTo(onePoint.x, onePoint.y);
path.lineTo(onePoint.x, onePoint.y);
canvas.drawPath(path, paint);
canvas.drawPath(path,
}
}
};
mapView.getOverlays().add(polygon);
mapView.getOverlays().add(polygon);
18. (2/2)
n
n http://gist.github.com/635949
n /
20. (2/2)
n
n http://gist.github.com/635958
n /
22. (2/2)
n
n http://gist.github.com/635978
n
23. R (1/2)
@Override
public boolean onSingleTapUp(MotionEvent e) {
GeoPoint temp = mapView.getProjection()
.fromPixels(
(int) e.getX(),
(int) e.getY()
);
mapView.getController().animateTo(temp);
return false;
}
24. R (2/2)
n
n http://gist.github.com/633865
n /
25. (1/2)
n
n mapView.changeMap(MapView.STANDARD);
n
n mapView.changeMap(MapView.LIGHT);
26. (2/2)
n
n http://gist.github.com/648611
n
27. Tips
n
GeoPoint tky = Map.wgsToTky(
new GeoPoint(35500000, 139500000)
);
GeoPoint wgs = Map.tkyToWgs(tky);
n
n 10 1 10
n Max MapView#getMaxZoomLevel
29. n
n Google Maps
n Android
n
n
n
n
30. n
n
n VOCALOID
n
n
n Geo
n Geo
32. n Android Maps API
n
n
n
n Android
n
n 256x256 128x128