gpt4 book ai didi

android - 我怎样才能使我的 InfoWindows 运行得更快?

转载 作者:行者123 更新时间:2023-11-29 01:38:45 25 4
gpt4 key购买 nike

大家好,我的应用程序 fragment 中有一张 map ,我想在 Infowindows 旅行时间上打印,但它需要几秒钟才能显示,因为该应用程序向 Google map 发出 HTTP 请求并接收时间,那么如何才能你认为我打开更快的信息窗口?谢谢。

myapp

这是我的代码:

map.setInfoWindowAdapter(new InfoWindowAdapter() {

@Override
public View getInfoWindow(Marker arg0) {
return null;
}

@Override
public View getInfoContents(Marker marker) {

/* Distanza a piedi e macchina sulla nuvoletta */
/***********************************************/
GPSTracker gpsTracker = new GPSTracker(MainActivity.this);

if (gpsTracker.canGetLocation() && is_online == true)
{
String stringLatitude = String.valueOf(gpsTracker.latitude);
String stringLongitude = String.valueOf(gpsTracker.longitude);
String country = gpsTracker.getCountryName(MainActivity.this);
String city = gpsTracker.getLocality(MainActivity.this);
String postalCode = gpsTracker.getPostalCode(MainActivity.this);

double currentLat = Double.parseDouble(stringLatitude);
double currentLng = Double.parseDouble(stringLongitude);

double destLat = marker.getPosition().latitude;
double destLng = marker.getPosition().longitude;

final float[] results = new float[3];
Location.distanceBetween(currentLat, currentLng, destLat, destLng, results);

float metri = results[0];
float km = Math.round((double)metri/1000);

int minuti_persona = (int)Math.round(metri/125); //125 metri al minuto -> velocità media di 2,5 m/s
int minuti_auto = (int)Math.round(km/0.7); //700 metri al minuto -> velocità media di 42 km/h


/***********************************************/


View v = getLayoutInflater().inflate(R.layout.custom_info_window, null);
TextView tvTitle = (TextView) v.findViewById(R.id.title);
TextView tvSnippet = (TextView) v.findViewById(R.id.snippet);
tvSnippet.setTypeface(tvSnippet.getTypeface(), Typeface.ITALIC); //indirizzo in corsivo
TextView tvPedonal_distance = (TextView) v.findViewById(R.id.pedonal_time);
TextView tvCar_distance = (TextView) v.findViewById(R.id.car_time);
tvTitle.setText(marker.getTitle());
tvSnippet.setText(marker.getSnippet());

if(minuti_persona <=0) // Stampa tempo per coprire la distanza
{
tvCar_distance.setText("A piedi: meno di un minuto");
}else
{
tvPedonal_distance.setText("A piedi: "+minuti_persona+ " minuti");
}

if(minuti_auto <= 0)
{
tvCar_distance.setText("In auto: meno di un minuto");
}else
{
tvCar_distance.setText("In auto: " +minuti_auto+ " minuti");
}

return v;
}else
{
View v = getLayoutInflater().inflate(R.layout.custom_info_window, null);
TextView tvTitle = (TextView) v.findViewById(R.id.title);
TextView tvSnippet = (TextView) v.findViewById(R.id.snippet);
tvTitle.setText(marker.getTitle());
tvSnippet.setText(marker.getSnippet());
return v;
}

}

最佳答案

查看您的代码,似乎时间是完全根据地理位置计算的,没有任何外部帮助。网络请求可能涉及询问国家、城市和邮政编码以获取当前位置。 (不能 100% 确定,因为它不清楚 GPSTracker 类中的内容)由于您目前没有使用这些变量,您应该删除它们并且您的信息窗口会显示得更快。

关于android - 我怎样才能使我的 InfoWindows 运行得更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com