現在、foursquare API を使用して Android アプリを作成しようとしています。GPS を使用して緯度と経度の両方を正常に取得しましたが、これらの座標を使用して会場のリストを返す際に問題が発生しているようです。クライアント ID とクライアント シークレットの両方を持っています。この API は私にとってなじみのないものなので、どこが間違っているのか誰か教えてもらえますか?
コード:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv= (ImageView)findViewById(R.id.ivPictureReturned);
ImageButton btn = (ImageButton)findViewById(R.id.ibCaptureImage);
Button geotag = (Button)findViewById(R.id.bGeoTag);
final LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
final LocationListener ll = new MyLocationListener();
btn.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);
}
});
geotag.setOnClickListener(new OnClickListener(){
public void onClick(View v){
if(lm != null){
lm.requestSingleUpdate(LocationManager.GPS_PROVIDER, ll, null);
}else{
// can't get the location
}
}
});
}
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
longitudeCoordinate = loc.getLongitude();
latitudeCoordinate = loc.getLatitude();
String Text = "My current location is: " +
"Latitud = " + loc.getLatitude() +
"Longitud = " + loc.getLongitude();
Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_LONG).show();
try {
Toast.makeText(getApplicationContext(), "phase 1", Toast.LENGTH_LONG).show();
searchVenue(latitudeCoordinate,longitudeCoordinate);
}catch (Exception e) {
//Log.e("Error", "error getting venue", e);
Toast.makeText(getApplicationContext(), error, Toast.LENGTH_SHORT).show();
}
//Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider)
{
Toast.makeText( getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT ).show();
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText( getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
}
public void searchVenue(double lat, double lng) throws FoursquareApiException{
FoursquareApi foursquareapi = new FoursquareApi(client_Id, client_Secret, "findtapshop://connect");
Result<VenuesSearchResult> result = foursquareapi.venuesSearch(lat+","+lng, null, null, null, null, null, null, null, null, null, null);
}