ورود

View Full Version : اشکال در google map direction کمک کنید



omidrayaneh.68
سه شنبه 16 شهریور 1395, 11:10 صبح
سلام و عرض ادب من 2 روزه دارم روی یه سورس کار میکنم خوشبختانه ارور هاشو گرفتمو تونستم رانش کن اما جواب درستی به من نمیده واقعا دیگه خسته شدم موضوع وصل کردن 2 نقطه در گوگل مپ direction من API Key رو ساختم و تو مانیفست گذاشتم فایل پروژم رو آپلود میکنم ترو خدا یه نگاهی بهش بندازید
لینک سورس رو اصلی رو براتون میزارم
https://github.com/akexorcist/Android-GoogleDirectionLibrary


import android.graphics.Color;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

import com.akexorcist.googledirection.DirectionCallback;
import com.akexorcist.googledirection.GoogleDirection;
import com.akexorcist.googledirection.constant.TransportM ode;
import com.akexorcist.googledirection.model.Direction;
import com.akexorcist.googledirection.util.DirectionConve rter;
import com.google.android.gms.maps.CameraUpdateFactory;
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.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

import java.util.ArrayList;

public class SimpleDirectionActivity extends AppCompatActivity implements OnMapReadyCallback, View.OnClickListener, DirectionCallback {
private Button btnRequestDirection;
private GoogleMap googleMap;
private String serverKey = "AIzaSyDdlocE8J6qf2j_bf3AKrjSkpDCATALx4k";
private LatLng camera = new LatLng(37.782437, -122.4281893);
private LatLng origin = new LatLng(37.7849569, -122.4068855);
private LatLng destination = new LatLng(37.7814432, -122.4460177);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple_direction) ;

btnRequestDirection = (Button) findViewById(R.id.btn_request_direction);
btnRequestDirection.setOnClickListener(this);

((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id. map)).getMapAsync(this);
}

@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap;
googleMap.animateCamera(CameraUpdateFactory.newLat LngZoom(camera, 13));
}

@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.btn_request_direction) {
requestDirection();
}
}

public void requestDirection() {
Snackbar.make(btnRequestDirection, "Direction Requesting...", Snackbar.LENGTH_SHORT).show();
GoogleDirection.withServerKey(serverKey)
.from(origin)
.to(destination)
.transportMode(TransportMode.DRIVING)
.execute(this);
}

@Override
public void onDirectionSuccess(Direction direction, String rawBody) {
Snackbar.make(btnRequestDirection, "Success with status : " + direction.getStatus(), Snackbar.LENGTH_SHORT).show();
if (direction.isOK()) {
googleMap.addMarker(new MarkerOptions().position(origin));
googleMap.addMarker(new MarkerOptions().position(destination));

ArrayList<LatLng> directionPositionList = direction.getRouteList().get(0).getLegList().get(0 ).getDirectionPoint();
googleMap.addPolyline(DirectionConverter.createPol yline(this, directionPositionList, 5, Color.RED));

btnRequestDirection.setVisibility(View.GONE);
}
}

@Override
public void onDirectionFailure(Throwable t) {
Snackbar.make(btnRequestDirection, t.getMessage(), Snackbar.LENGTH_SHORT).show();
}
}
http://s6.uplod.ir/i/00817/29jkpedog77y.jpg

omidrayaneh.68
سه شنبه 16 شهریور 1395, 13:11 عصر
دوستان کسی نیست کمک کنه :افسرده:
برنامه باید در ابتدا به این صورت کار کنه که از من کار نمیکنه
https://raw.githubusercontent.com/akexorcist/Android-GoogleDirectionLibrary/master/image/google-direction-library_01.jpg

omidrayaneh.68
سه شنبه 16 شهریور 1395, 14:55 عصر
چرا کسی جواب نمیده من چی کار کنم الان
چقدر پیام بدم به این و اون
برنامه رو ران کردم فقط نقشه و نقاط به وصل شده رو نشون نمیده
یعنی هیچ کس کار نکرده

hamed_9192
چهارشنبه 17 شهریور 1395, 12:11 عصر
با سلام
دوست عزیز، قبلا این مشکل برا منم پیش آمده و به صورت زیر حل شد.
این مراحل رو برید.
1- ابتدا باید کتابخانه google play services رو به پروژه تون اد کنید.
2- در فایل منیفست ورژین google play services رو به این شکل وارد کنید.


<meta-data
android:name="com.google.android.gms.version"
android:value="8487000" />


3-API_KEY رو یه بار دیگه چک کنید و مطمئن باشید که درسته.
4- از پروژه تون خروجی بگیرید و حتما از signkeys هم استفاده کنید. بعد فایل apk رو تست کنید.
موفق باشید

aliblk10
چهارشنبه 17 شهریور 1395, 14:00 عصر
دوست عزیز این مشکل به چند دلیل هست.
کد زیر باید تو XML اکتویتیون باشه:
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
">
</fragment>
دو: کد API گوگل رو وارد نکردین (توجه کنین دو فایل همنام هست google_maps_api در پروژه اندروید استودیو که باید در هر دو وارد بشه. یکی پوشه release یکی پوشه debug
در نهایت اصلا لوگوی گوگل رو هم براتون نمایش نمیده انگار که بدلیل عدم لود نقشه است. اگر کد رو اشتباه بزنین یا اصلا نزنین لوگئی گوگل رو بهتون نمایش میده. پس بهتره لود نقشه رو بررسی کنین