CameraUpdateFactory缩放不起作用

时间:2017-09-03 13:18:33

标签: android google-maps android-studio

collectionView

以上两项功能是将标记设置为所需的纬度和经度,并将相机对准该位置。 一切都很好。 但我在这里面临的问题是缩放

var img_uls = ["url1" , "url2", "url3"]

func append_image(_ path: String, _ cell: RelatedCollectionViewCell) {
    let url = URL(string: path)

    DispatchQueue.global().async {
        let data = try? Data(contentsOf: url!) //make sure your image in this url does exist, otherwise unwrap in a if let check / try-catch
        DispatchQueue.main.async {
            cell.related.image = UIImage(data: data!)
        }
    }
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

    return img_uls.count
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {



    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "RelatedCollectionViewCell", for: indexPath) as! RelatedCollectionViewCell

    append_image(img_uls[indexPath.row], cell);


    return cell
}

我可以为缩放设置任何值。

private void setCurrentLocationMarker(LatLng currLatLng) {
    if (currLatLng == null) {
        Toast.makeText(getActivity(), "Check Internet Connection", Toast.LENGTH_SHORT).show();
        return;
    }
    mMap.moveCamera(CameraUpdateFactory.newLatLng(currLatLng));
    mMap.animateCamera(CameraUpdateFactory.zoomBy(R.integer.camera_zoom_value));
    setMarkerAtCentre(mMap.getCameraPosition().target);
}

private void setMarkerAtCentre(LatLng cameraCentre){
    if(cameraCentre == null) return;
    MarkerOptions markerOptions = new MarkerOptions();
    markerOptions.position(cameraCentre);
    markerOptions.icon(BitmapDescriptorFactory.defaultMarker());
    markerOptions.title("Your Position");
    sourceMarker = mMap.addMarker(markerOptions);
}

但是我得到的变焦总是最大的变焦,即最大可能变焦,这在这里有点问题。

任何人都可以帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

你是直接传递资源整数而不使用getResources()。getInteger()所以传递的值是一个长整数> 20导致最大变焦。修复它,它会工作。