当前位置: 首页 > 知识库问答 >
问题:

在改型中查询参数?Android谷歌地图

麻鸿熙
2023-03-14

当我在改型中使用查询参数访问链接url(如第一个链接)时,我遇到了改型问题,我得到了链接url(如第二个链接url)https://maps.googleapis.com/maps/api/geocode/json?latlng=11.531887,104.937726

https://maps.googleapis.com/maps/api/geocode/json?geocode=json

public interface AddressService{
        @GET("geocode/json")
        Call<AddressResponse> getAddressWithCoordinator(@Query("latlng") String latlng);
}

谢谢你!

共有1个答案

盛承
2023-03-14

创建一个latlong类

class LatLng {
  private double lat;
  private double lng;

  @Override public String toString() {
    return String.format("%.1f,%.1f", lat, lng);
  }
}

服务类

public interface AddressService{
    @GET("geocode/json")
    Call<AddressResponse> getAddressWithCoordinator(@Query("latlng") LatLng latlng);
}

呼叫请求

Call<AddressResponse> requestCall =  restAdapter.getAddressWithCoordinator(LatLng.valueOf(31.26, -94.74));

模型应该看起来像

import com.google.gson.annotations.SerializedName;

import java.util.List;

public class AddressResponse{

    @SerializedName("results")
    private List<ResultsItem> results;

    @SerializedName("status")
    private String status;

    public void setResults(List<ResultsItem> results){
        this.results = results;
    }

    public List<ResultsItem> getResults(){
        return results;
    }

    public void setStatus(String status){
        this.status = status;
    }

    public String getStatus(){
        return status;
    }

    public class AddressComponentsItem{

        @SerializedName("types")
        private List<String> types;

        @SerializedName("short_name")
        private String shortName;

        @SerializedName("long_name")
        private String longName;

        public void setTypes(List<String> types){
            this.types = types;
        }

        public List<String> getTypes(){
            return types;
        }

        public void setShortName(String shortName){
            this.shortName = shortName;
        }

        public String getShortName(){
            return shortName;
        }

        public void setLongName(String longName){
            this.longName = longName;
        }

        public String getLongName(){
            return longName;
        }
    }

    public class Geometry{

        @SerializedName("viewport")
        private Viewport viewport;

        @SerializedName("location")
        private Location location;

        @SerializedName("location_type")
        private String locationType;

        public void setViewport(Viewport viewport){
            this.viewport = viewport;
        }

        public Viewport getViewport(){
            return viewport;
        }

        public void setLocation(Location location){
            this.location = location;
        }

        public Location getLocation(){
            return location;
        }

        public void setLocationType(String locationType){
            this.locationType = locationType;
        }

        public String getLocationType(){
            return locationType;
        }
    }


    public class Location{

        @SerializedName("lng")
        private double lng;

        @SerializedName("lat")
        private double lat;

        public void setLng(double lng){
            this.lng = lng;
        }

        public double getLng(){
            return lng;
        }

        public void setLat(double lat){
            this.lat = lat;
        }

        public double getLat(){
            return lat;
        }
    }


    public class ResultsItem{

        @SerializedName("formatted_address")
        private String formattedAddress;

        @SerializedName("types")
        private List<String> types;

        @SerializedName("geometry")
        private Geometry geometry;

        @SerializedName("address_components")
        private List<AddressComponentsItem> addressComponents;

        @SerializedName("place_id")
        private String placeId;

        public void setFormattedAddress(String formattedAddress){
            this.formattedAddress = formattedAddress;
        }

        public String getFormattedAddress(){
            return formattedAddress;
        }

        public void setTypes(List<String> types){
            this.types = types;
        }

        public List<String> getTypes(){
            return types;
        }

        public void setGeometry(Geometry geometry){
            this.geometry = geometry;
        }

        public Geometry getGeometry(){
            return geometry;
        }

        public void setAddressComponents(List<AddressComponentsItem> addressComponents){
            this.addressComponents = addressComponents;
        }

        public List<AddressComponentsItem> getAddressComponents(){
            return addressComponents;
        }

        public void setPlaceId(String placeId){
            this.placeId = placeId;
        }

        public String getPlaceId(){
            return placeId;
        }
    }

    public class Viewport{

        @SerializedName("southwest")
        private Location southwest;

        @SerializedName("northeast")
        private Location northeast;

        public void setSouthwest(Location southwest){
            this.southwest = southwest;
        }

        public Location getSouthwest(){
            return southwest;
        }

        public void setNortheast(Location northeast){
            this.northeast = northeast;
        }

        public Location getNortheast(){
            return northeast;
        }
    }


}
 类似资料:
  • 我想创建一个页面,用户在其中输入一个位置,我搜索这个位置,我搜索数据库中属于该位置的所有对象,我还搜索距离该位置一英里以内的所有对象。我已经创建了一个结构,该结构允许我查找自动完成的位置,并使用以下代码在地图上指出: 但是在这一点上,我如何运行一个查询来返回所需的对象并更新地图? 感谢所有

  • 所以我看到了一个特殊的例外,我敢肯定的是谷歌地图的绘图代码。 我有一个片段,在那里我以编程方式添加了一个支持地图片段,然后我在其中操纵谷歌地图实例。 这是stacktrace: 我无法可靠地复制它(尽管这种情况经常发生),我已经查看了ReadWriteDirectByteBuffer和ShortToByteBufferAdapter,但没有任何东西突然出现在我面前。 有什么想法吗?

  • 我成功创建了一个活动,用户可以在其中发布他的状态并将他的当前位置放置在android工作室中创建的google map中。我还尝试在map中查看所有其他用户,我成功地做到了。但是,随着他们的位置发生变化,不断增加。我想实现这样一种情况,即用户在移动时可以在地图上看到彼此,并且这些也会相应地移动。我使用Firebase作为我的后端来存储他们的位置和状态。这是我想出的代码。 请帮帮我!提前感谢!:)

  • 1)创建新项目。 2)选定的谷歌地图创建。 3)调试google_maps_api.xml所遵循的步骤。 5)AndroidManifest.xml

  • 我有问题加载一个谷歌地图在我的片段。一切都从一个循环器视图适配器开始,该适配器启动活动“ViatGedetAllViewActivity”: 这是我的DetallViewActivity: =2 03-24 02:55:53.881 639-7362/com.example.usuari.MyApplication3 w/ResourcesManager:GetTopleVelResources: