현재 위치지도 응용 프로그램을 구현하려고하는데 조각을로드하는 중이지만 주소를 찾기 위해 위도와 경도 값을 사용합니다 .. 현재 위치 기능을 구현하는 방법 ... 미리 감사드립니다.안드로이드에서지도의 현재 위치를 얻는 방법?
방향 및 방법 -여기 내지도 단편이다 .. 구글의 documentation 가입일
public class ContactFragment extends Fragment {
MapView mapView;
GoogleMap googleMap;
private WebView contactWebView;
public ContactFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_contact, container, false);
getActivity().setTitle("Contact Us");
contactWebView = (WebView)view.findViewById(R.id.contact_us);
contactWebView.setBackgroundColor(0);
if(Build.VERSION.SDK_INT >= 11){
contactWebView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
}
contactWebView.getSettings().setBuiltInZoomControls(true);
AssetManager mgr = getContext().getAssets();
String filename = null;
try {
filename = "contact.html";
System.out.println("filename : " + filename);
InputStream in = mgr.open(filename, AssetManager.ACCESS_BUFFER);
String sHTML = StreamToString(in);
in.close();
contactWebView.loadDataWithBaseURL(null, sHTML, "text/html", "utf-8", null);
//singleContent.setText(Html.fromHtml(sHTML));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mapView = (MapView) view.findViewById(R.id.map);
mapView.onCreate(savedInstanceState);
if (mapView != null) {
googleMap = mapView.getMap();
googleMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker))
.anchor(0.5f, 1.0f)
.position(new LatLng(12.895960, 77.559921)));
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
if (ActivityCompat.checkSelfPermission(getActivity(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getActivity(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
MapsInitializer.initialize(this.getActivity());
LatLng position = new LatLng(12.895960, 77.559921);
CameraUpdate updatePosition = CameraUpdateFactory.newLatLng(position);
googleMap.moveCamera(updatePosition);
//googleMap.animateCamera(updatePosition);
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(position,16));
return view;
}
googleMap.setMyLocationEnabled(true);
googleMap.getUiSettings().setZoomControlsEnabled(true);
MapsInitializer.initialize(this.getActivity());
// LatLngBounds.Builder builder = new LatLngBounds.Builder();
// builder.include(new LatLng(12.8909537, 77.5594254));
// LatLngBounds bounds = builder.build();
int padding = 0;
LatLng position = new LatLng(12.895960, 77.559921);
CameraUpdate updatePosition = CameraUpdateFactory.newLatLng(position);
CameraUpdate updateZoom = CameraUpdateFactory.zoomBy(8);
googleMap.moveCamera(updatePosition);
googleMap.animateCamera(updateZoom);
}
return view;
}
@Override
public void onResume() {
mapView.onResume();
super.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
public static String StreamToString(InputStream in) throws IOException {
if(in == null) {
return "";
}
Writer writer = new StringWriter();
char[] buffer = new char[1024];
try {
Reader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
}
return writer.toString();
}
}
가능한 중복 http://stackoverflow.com/questions/18425141/android-google-maps-api-v2-zoom-current-location) – naXa
RTFM [Google지도 API | 위치 데이터] (https://developers.google.com/maps/documentation/android-api/location) – naXa