ध्यान रखें कि यह एक आदर्श दृष्टिकोण नहीं है, क्योंकि मानचित्र पर पाठ एक स्थिर छवि है और नक्शा टाइल्स के साथ घूमता है (कुछ बिंदु पर यह उल्टा हो जाएगा) ।
यहां एक उदाहरण है कि MapView
को अपने Layout
विजेट में कैसे डालें और इसे घुमाएं। मैंने इसे movMaps के साथ किया है, लेकिन यह Google मानचित्र के लिए काफी समान होना चाहिए।
पहले यह द्वारा "घूर्णन" Layout
विजेट
package com.eli.util;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.widget.LinearLayout;
public class RotatingLinearLayout extends LinearLayout {
private final int mDiagonal;
private float mBearing;
public RotatingLinearLayout(final Context pContext, final AttributeSet pAttrs) {
super(pContext, pAttrs);
final DisplayMetrics dm = pContext.getResources().getDisplayMetrics();
mDiagonal = (int) Math.hypot(dm.widthPixels, dm.heightPixels);
}
public void setBearing(final float pBearing) {
mBearing = pBearing;
}
@Override
protected void dispatchDraw(final Canvas pCanvas) {
pCanvas.rotate(-mBearing, getWidth() >> 1, getHeight() >> 1);
super.dispatchDraw(pCanvas);
}
@Override
protected void onMeasure(final int pWidthMeasureSpec,
final int pHeightMeasureSpec) {
final int widthMode = MeasureSpec.getMode(pWidthMeasureSpec);
final int heightMode = MeasureSpec.getMode(pHeightMeasureSpec);
super.onMeasure(MeasureSpec.makeMeasureSpec(mDiagonal, widthMode), MeasureSpec.makeMeasureSpec(mDiagonal, heightMode));
}
}
चारों ओर बनाने के अपने layout.xml
<com.eli.util.RotatingLinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/rotating_layout">
<org.osmdroid.views.MapView
android:id="@+id/map_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"/>
</com.eli.util.RotatingLinearLayout>
अब में MapView
, हर बार जब आप एक भू ठीक प्राप्त करते हैं, घूर्णन का असर अद्यतन लेआउट और इसे चालू करना चाहिए।
स्रोत
2011-05-17 10:05:58
मेरा उत्तर यहाँ देखें है: [एंड्रॉयड में घुमाएँ MapView] (http://stackoverflow.com/a/12126276/546054) – TouchBoarder