0

У меня есть приложение для Android для поиска рейсов. Я хочу реализовать карту Google, на которой исходные данные и назначение будут отображаться на карте (с помощью некоторых маркеров) пользователю на основе его/ее входов. Но прежде чем я начну что-либо, мне нужна помощь в общем понимании.Использование API Google Maps API/API Google Maps Directions в приложении для Android

  1. Какой API мне нужен? API API Карт Google или Google Maps? Я не хочу показывать какое-либо направление, только отмеченные места.
  2. Есть ли HTTP-запрос для API Карт Google? Или как мне динамически показывать места на карте? У меня будет только название мест.

Я был бы очень признателен, если кто-нибудь может провести меня через первые шаги этой реализации.


EDITED:

Ниже Основная деятельность, которую я использую:

public class Map_Activity_With_Fragment extends AppCompatActivity implements OnMapReadyCallback { 

private GoogleMap googleMap; 
String Origin, Destination, Start_Date, Num_Adult, Num_Infant, Origin_Map, Destination_Map; 
Context context; 
List<Address> Addr_Origin, Addr_Dest; 
double latitude_origin, longitude_origin, latitude_destination, longitude_destination; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Intent intent = getIntent(); 
    Bundle extras = intent.getExtras(); 
    Origin = extras.getString(MainActivity.ORIGIN); 
    Destination = extras.getString(MainActivity.DESTINATION); 
    Start_Date = extras.getString(MainActivity.START_DATE); 
    Num_Adult = extras.getString(MainActivity.ADULT); 
    Num_Infant = extras.getString(MainActivity.INFANT); 
    Origin_Map = extras.getString(MainActivity.ORIGIN_MAP); 
    Destination_Map = extras.getString(MainActivity.DESTINATION_MAP); 
    context = Map_Activity_With_Fragment.this; 
    setTitle("Location Map"); 
    setContentView(R.layout.activity_map__with__fragment); 

    try 
    { 
     initializeMap(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_map__with__fragment, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

@Override 
public void onMapReady(GoogleMap googleMap) 
{ 
    AddMarkers(googleMap); 
} 


@Override 
protected void onResume() { 
    super.onResume(); 
    initializeMap(); 
} 

private void initializeMap() 
{ 
    if (googleMap == null) { 
     MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map); 
     mapFragment.getMapAsync(this); 
    } 
} 

private void AddMarkers(GoogleMap googleMap) 
{ 
    try { 
     Geocoder geocoder = new Geocoder(context); 
     Addr_Origin = geocoder.getFromLocationName(Origin_Map, 1); 
     Addr_Dest = geocoder.getFromLocationName(Destination_Map, 1); 
     if (Addr_Origin.size() > 0) { 
      latitude_origin = Addr_Origin.get(0).getLatitude(); 
      longitude_origin = Addr_Origin.get(0).getLongitude(); 
     } 
     if (Addr_Dest.size() > 0) { 
      latitude_destination = Addr_Dest.get(0).getLatitude(); 
      longitude_destination = Addr_Dest.get(0).getLongitude(); 
     } 
     Marker m1 = googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude_origin, longitude_origin)).title(Origin_Map)); 
     Marker m2 = googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude_destination, longitude_destination)).title(Destination_Map)); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
} 

ответ

1
  1. Google Maps API должно быть достаточно.
  2. Если у вас есть место, которые вы можете добавляет маркер для каждого места https://developers.google.com/maps/documentation/android-api/marker

Получить cooridnates: How to get coordinates of an address in android

+0

Благодаря @lobi! Есть ли какой-либо запрос HTTPS для вызова API Карт Google? Или Как передать координаты на карту динамически? –

+0

@AndroidBeginner Что вы думаете по запросу HTTPS для вызова API Карт Google, вы должны начать с этого https://developers.google.com/maps/documentation/android-api/intro – usil

+0

@AndroidBeginner выполните следующие шаги: https://developers.google.com/maps/documentation/android-api/config – usil