마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

구글맵 좌표저장 방법이 궁금 합니다.

0 추천

구글맵API 연동을 통한 어플리케이션 제작 공부를 하고 있습니다.

P1 Set과 P2 Set을 누르면 화면 중심점에 마커가 찍히는 기능을

구현 하였는데 RUN 버튼을 눌러 이 두 좌표간의 거리를 구해야

하는데 며칠째 구글과 네이버 안드로이드펍과 타 커뮤니티를

뒤져보며 검색해보아도 나오지가 않네요...

 

Point1 과 Point2 각각의 지도 위도, 경도 좌표를 받아 저장하여

RUN을 눌렀을때 두 거리계산을 하기 위해서 어떻게 해야 할까요..?

혹여나 참고가 되실까 하여 아래 MapsActivity.java 소스 첨부 합니다.

package com.apress.gerber.gmaps;

import android.Manifest;
import android.content.pm.PackageManager;
import android.location.Location;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.widget.TextView;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.UiSettings;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

import static com.apress.gerber.gmaps.R.id.map;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
{
    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(map);
        mapFragment.getMapAsync(this);
    }


    @Override
    public void onMapReady(GoogleMap googleMap)
    {
        mMap = googleMap;

        UiSettings uiSettings = mMap.getUiSettings();
        uiSettings.setZoomControlsEnabled(true);

        mMap.setMyLocationEnabled(true);

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
                != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission
                (this, Manifest.permission.ACCESS_COARSE_LOCATION)
                != PackageManager.PERMISSION_GRANTED)
        {
            // TODO: Consider calling
            //    ActivityCompat#requestPermissions
            // here to request the missing permissions, and then overriding
            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
            //                                          int[] grantResults)
            // to handle the case where the user grants the permission. See the documentation
            // for ActivityCompat#requestPermissions for more details.
            return;
        }

    public void onClick(View view)
    {
        double distance;
        String meter;

        Location locationA = new Location("point A");

        Location locationB = new Location("point B");

        distance = locationA.distanceTo(locationB);
        meter = Double.toString(distance);

        TextView distanceoutput = (TextView) findViewById(R.id.textView4);
        distanceoutput.setText("거리:"+ meter + "m");
    }

    public void onClickSet1(View v)
    {
        LatLng center = mMap.getCameraPosition().target;
        mMap.addMarker(new MarkerOptions().position(center).title("Point 1"));
    }

    public void onClickSet2(View v)
    {
        LatLng center = mMap.getCameraPosition().target;
        mMap.addMarker(new MarkerOptions().position(center).title("Point 2"));
    }

    public void onClickClear1(View v)
    {
        mMap.clear();
    }
    public void onClickClear2(View v)
    {
        mMap.clear();
    }

}

허둥이 님이 2017년 1월 9일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...