我试图在用户单击标记时从自定义infoWindow中的URL加载图像.我能够加载其他细节,但图像没有加载它.我正在使用Picasso库为我这样做.我搜索了许多相关主题并查看了解决方案,但无法理解应用哪种解决方案来解决我的问题.我正在使用Web服务调用来获取所需的数据.
这是我的代码:
@Override
public View getInfoContents(Marker arg0) {
//marker.showInfoWindow();
return null;
}
@Override
public View getInfoWindow(Marker arg0)
{
View v = getLayoutInflater().inflate(R.layout.map_infowindow, null);
for(int i=0 ; i<lstMain.size();i++)
{
Pojo b=lstMain.get(i);
double slat= Double.parseDouble(b.getLatitude());
double slng= Double.parseDouble(b.getLongitude());
double lat= Math.round(slat*100000.0)/100000.0;
double lng= Math.round(slng*100000.0)/100000.0;
String s1=String.valueOf(lat);
String s2=String.valueOf(lng);
Log.v("comparing latilongi pojo===>", lat+" , "+lng);
Log.v("comparing latilongi marker===>", Clickedlatitude+" , "+Clickedlongitude);
if(s1.equals(String.valueOf(Clickedlatitude)) && s2.equals(String.valueOf(Clickedlongitude)))
{
txtDname=(TextView)v.findViewById(R.id.infoDoctorName);
txtDspe=(TextView)v.findViewById(R.id.infoDoctorSpe);
txtDaddress=(TextView)v.findViewById(R.id.infoDoctorAddress);
imgUrl=(ImageView)v.findViewById(R.id.infoDoctorImage);
String url=b.getPhotoURL();
txtDname.setText(b.getDoctorName());
txtDspe.setText(b.getSpecialization());
txtDaddress.setText(b.getAddress1()+" , "+b.getAddress2());
Picasso.with(MapActivity.this)
.load(url)
.placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_launcher).resize(50, 50)
.into(imgUrl);
} …Run Code Online (Sandbox Code Playgroud) 我有MapView一些叠加和一个子类,MyLocationOverlay因为我希望用户当前位置显示在其他标记之上.
我正在处理onTap事件,标记显示一个面板,其中包含点击标记的信息,如果在标记之外(即使在位置标记中)点击,面板应该隐藏.
如果我点击标记或空白点一切都很好,面板会按预期显示或隐藏,但如果我点击位置标记没有任何反应(如果位置标记位于另一个标记上,则信息不会显示,如果它在外面,信息显示它不隐藏).
在我的MyLocationOverlay重写dispatchTap()函数中,使其返回false,如文档中所述:
返回:如果处理此点击,则返回true; 如果应该将其发送到其他叠加层,则为false.
但仍然无法正常工作,即使我试过以及以防万一也没有...
有人知道如何将onTap事件传播到其他叠加层吗?
使用com.google.android.maps API,我有一个MapActivity它使用ItemizedOverlay放置多个(最多约1000)上的图标MapView.当LocationListener检测到设备移动了一定距离(目前为5米,但仅用于测试)时,我想刷新(或者只是添加到列表中)图标.
我已经添加了setLastFocusedIndex(-1)和populate(),但我的ItemizedOverlay仍然会崩溃. 我认为当我向列表中添加更多项目时会崩溃,但有时即使我不移动手机也会崩溃.它在第一次更新时崩溃了.我无法从LogCat中确切地知道是什么触发了错误.
我的MapActivity基于各种教程:
编辑:调整代码来批量更新项目,但它仍然崩溃
public class NearbyActivity extends MapActivity implements VenueCatalogListener {
private final String TAG = this.getClass().getSimpleName();
List<Overlay> mapOverlays;
HelloItemizedOverlay itemizedOverlay;
private MapController mapController;
private MapView mapView;
private LocationManager locationManager;
private int latE6;
private int lonE6;
private Location current_location;
private VenuesFromServer venues_from_server;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
venues_from_server = new VenuesFromServer(this);
setupViews();
}
private void setupViews() {
setContentView(R.layout.nearby_view);
RelativeLayout linearLayout …Run Code Online (Sandbox Code Playgroud) 我正在使用一个使用Geopoints的Android应用程序,我想从另一个Geopoint确定一个Geopoint,一个距离(任何格式)和一个极角.例如,我想通过手机中的GPS获取我位置的北 - 东北(22,5度)100米处的坐标.
我发现的唯一方法是Location.distanceBetween(...).
嗨,大家好,这是我的代码.
我可以刷新谷歌地图上的刷新按钮点击,但它显示我的旧坐标,在某些区域,它显示矩形图像与交叉图像在其中..所以,伙计们,请让我知道哪里是错误或修改我必须这样做.
public class GmapActivity extends MapActivity {Mapview map;Button btnrefresh;Button btnbacktolist; int chargenumber=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gmapactivity);
final Bundle bundle = this.getIntent().getExtras();
chargenumber = bundle.getInt("ChargeNumber");
int latitude = bundle.getInt("latitude");
int longitude = bundle.getInt("longitute");
CreateMap(latitude, longitude);
btnrefresh = (Button) findViewById(R.id.btnReload);
btnrefresh.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
RefreshMap();
}
});
btnbacktolist = (Button) findViewById(R.id.btnBack);
btnbacktolist.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
BacktoScheduleList(bundle);
}
}); …Run Code Online (Sandbox Code Playgroud) 好.你会认为这会相对简单,但不是.
我在我的网站上使用Open街道地图,因为数据可以免费使用,编辑和更新 - 我的项目遵循这个咒语,除了googles API使用限制/保存数据限制,谷歌地图根本不适合我..至少在网上.
鉴于此,我以为我会跟随我的Android应用程序,所以我设置osmdroid利用开放的街道地图数据.
我可以在我的活动中有一个很好的地图..我也遵循一个教程,它似乎至少工作,我可以在tabhost/viewpager中的片段中有一个地图视图.然而,我真正想要的(对于平板电脑)是左边一个片段中的场所列表,右边是一个地图片段,显示这些场所的位置.
很简单我会想到,但是数小时和研究表明这是不可能的,除非你使用一些复杂的代码和一些不赞成的方法.
所以..片段(包含一个地图视图)在tabhost中完美地加载和运行..我可以从我的活动等访问片段中的方法..但没有什么可以简单地并排放置两个片段.
现在..我知道谷歌刚刚推出了他们的API v2 ..我安装了它并且玩了..不知道osmdroid如何工作,我想我可以更新所以我有MapFragment而不是SherlockFragment(我使用ABS).这个然后只是抛出了要求API密钥等的logcat错误..并且考虑到我不想使用谷歌地图数据,我认为我出错了.
所以..任何人都可以建议我如何使用市场上可用的任何东西并排获得列表片段和地图片段,但最好使用开源地图数据,这样他们就没有使用限制.
我确信全面概述"什么是可用的,以及它如何工作"将受到大量用户的非常赞赏..所以,如果有人可以建议它将是惊人的!
android android-maps osmdroid actionbarsherlock google-maps-android-api-2
我正在使用Android Google地图v2 API并将其设置为在长按时添加标记.我需要一种方法来保存这些标记,并在应用程序再次恢复时重新加载它们.最好的方法是什么?请帮忙
目前我添加标记如下:
map.addMarker(new MarkerOptions().position(latlonpoint)
.icon(bitmapDescriptor).title(latlonpoint.toString()));
Run Code Online (Sandbox Code Playgroud) android google-maps savestate google-maps-markers android-maps
我有以下代码:
public class Tab_Map extends SupportMapFragment {
View view;
SupportMapFragment gmap;
GoogleMap map;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
view = inflater.inflate(R.layout.tab_map, container, false);
map = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.fragment1))
.getMap();
return view;
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序并尝试加载地图选项卡时,我收到以下错误:
E/AndroidRuntime(22627): FATAL EXCEPTION: main
E/AndroidRuntime(22627): java.lang.NullPointerException
E/AndroidRuntime(22627): at maps.ah.bg.b(Unknown Source)
E/AndroidRuntime(22627): at bgl.onTransact(SourceFile:115)
E/AndroidRuntime(22627): at android.os.Binder.transact(Binder.java:310)
E/AndroidRuntime(22627): at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onResume(Unknown Source)
E/AndroidRuntime(22627): at com.google.android.gms.maps.SupportMapFragment$a.onResume(Unknown Source)
E/AndroidRuntime(22627): at com.google.android.gms.internal.bb$6.b(Unknown Source)
E/AndroidRuntime(22627): at com.google.android.gms.internal.bb.a(Unknown Source)
E/AndroidRuntime(22627): at com.google.android.gms.internal.bb.onResume(Unknown Source)
E/AndroidRuntime(22627): at …Run Code Online (Sandbox Code Playgroud) 我想在我的android地图应用程序中显示如下所示的标记.我知道我必须为此使用自定义标记我也计算了角度,但我不知道如何在标记上显示箭头.
任何指针都会有所帮助,并提前致谢.
http://i43.tinypic.com/zkmukw.png
关心巴拉特
如何(Lat,Lan)在移动摄像机位置的同时在Google地图上找到标记和标记位置.