Android 经度和纬度的双值不传递到googlemap标记

Android 经度和纬度的双值不传递到googlemap标记,android,google-maps,android-fragments,Android,Google Maps,Android Fragments,我有一个包含长纬度和经度的数据对象。我从一个片段中的方法传递这些信息,该片段调用父活动方法来显示googlemap 问题是,经度和纬度保持为(0,0)。我已检查对象是否正在设置并获得正确的数字 在片段和对showmap的调用中,这些数字是正确的,但标记始终显示为默认的0,0 我的活动xml中有一个框架布局中的地图,我可以更改其可见性。(我认为这就是问题所在,这是一张空白地图) 我花了好几个小时在这个问题上,现在已经手拉手来到这里 这是本规范的相关部分: 我的片段代码: /** * Get la

我有一个包含长纬度和经度的数据对象。我从一个片段中的方法传递这些信息,该片段调用父活动方法来显示googlemap

问题是,经度和纬度保持为(0,0)。我已检查对象是否正在设置并获得正确的数字

在片段和对showmap的调用中,这些数字是正确的,但标记始终显示为默认的0,0

我的活动xml中有一个框架布局中的地图,我可以更改其可见性。(我认为这就是问题所在,这是一张空白地图)

我花了好几个小时在这个问题上,现在已经手拉手来到这里

这是本规范的相关部分:

我的片段代码:

/**
 * Get latitude and longitude from dataobject and pass into
 * showMap method of activity.
 */
public void showMap() {
     double lat = dataObject.getLatitude();
     double long_ = dataObject.getLongitude();
     String name = dataObject.getName();

    ((MyActivity) getActivity()).showMap(lat, long_, name);
}
我的活动代码:

public void showMap(double lat, double _long, String _title) {
    GoogleMap googleMap = ((MapFragment) getFragmentManager().
                findFragmentById(R.id.map)).getMap();
    googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
    Marker marker = googleMap.addMarker(new MarkerOptions()
                .position(new LatLng(lat, _long)).title(_title));
    googleMap.moveCamera(CameraUpdateFactory.zoomTo(5f));
}
我的活动xml:

<RelativeLayout
style="@style/RLayout1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my">

 ....

<FrameLayout
    android:visibility="gone"
    ...
    <fragment
        android:id="@+id/map"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:name="com.google.android.gms.maps.MapFragment"/>
07-09 05:57:37.147 32317-32317/thiscode.databasedemo D/1。行为 纬度=-42.9﹕ 动作长=147.3 07-09 05:57:37.157 32317-32317/thiscode.databasedemo D/2。act lat=-42.9﹕ 动作长=147.3 07-09 05:57:37.167 32317-32317/此代码。数据库演示D/3。行为 纬度=-42.9﹕ 动作长=147.3 07-09 05:57:37.167 32317-32317/thiscode.databasedemo D/4。act lat=-42.9﹕ 动作长=147.3 07-09 05:57:37.167 32317-32317/此代码。数据库演示D/5。行为 纬度=-42.9﹕ 动作长=147.3 07-09 05:57:37.167 32317-32317/thiscode.databasedemo D/6。act lat=-42.9﹕ 动作长=147.3


在确认标记放置正确后,看起来唯一的问题是正确对齐当前视图

这应该做到:

        LatLng latlng = new LatLng(lat, _long);

        Marker marker = googleMap.addMarker(new MarkerOptions()
                .position(latlng).title(_title));

        CameraPosition cameraPosition = new CameraPosition.Builder()
                .target(latlng).zoom(5).build();

        googleMap.animateCamera(CameraUpdateFactory
                .newCameraPosition(cameraPosition));
您可能需要添加以下导入:

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.model.CameraPosition;

您是否记录了这些值?也许在调用showMap之前,请检查您的lat和long_,您从片段调用活动的方式并不推荐,但这可能不是问题所在。记录每个阶段的值,并查看它们精确到零的时间。我会在showMap之前和创建标记之前记录它们。您是否正在尝试在塔斯马尼亚放置标记?在“活动”中的代码运行后,您在视觉上看到了什么?您是否也有在(0,0)处放置标记的默认代码?
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.model.CameraPosition;