Android Open Source - android-maps-utils Weighted Lat Lng






From Project

Back to project page android-maps-utils.

License

The source code is released under:

Apache License

If you think the Android project android-maps-utils listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright 2014 Google Inc.//  ww  w  .  j  a  v a 2  s .  c o m
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.maps.android.heatmaps;

import com.google.android.gms.maps.model.LatLng;
import com.google.maps.android.geometry.Point;
import com.google.maps.android.projection.SphericalMercatorProjection;
import com.google.maps.android.quadtree.PointQuadTree;

/**
 * A wrapper class that can be used in a PointQuadTree
 * Created from a LatLng and optional intensity: point coordinates of the LatLng and the intensity
 * value can be accessed from it later.
 */
public class WeightedLatLng implements PointQuadTree.Item {

    /**
     * Default intensity to use when intensity not specified
     */
    public static final double DEFAULT_INTENSITY = 1;

    /**
     * Projection to use for points
     * Converts LatLng to (x, y) coordinates using a SphericalMercatorProjection
     */
    private static final SphericalMercatorProjection sProjection =
            new SphericalMercatorProjection(HeatmapTileProvider.WORLD_WIDTH);

    private Point mPoint;

    private double mIntensity;

    /**
     * Constructor
     *
     * @param latLng    LatLng to add to wrapper
     * @param intensity Intensity to use: should be greater than 0
     *                  Default value is 1.
     *                  This represents the "importance" or "value" of this particular point
     *                  Higher intensity values map to higher colours.
     *                  Intensity is additive: having two points of intensity 1 at the same
     *                  location is identical to having one of intensity 2.
     */
    public WeightedLatLng(LatLng latLng, double intensity) {
        mPoint = sProjection.toPoint(latLng);
        if (intensity >= 0) mIntensity = intensity;
        else mIntensity = DEFAULT_INTENSITY;
    }

    /**
     * Constructor that uses default value for intensity
     *
     * @param latLng LatLng to add to wrapper
     */
    public WeightedLatLng(LatLng latLng) {
        this(latLng, DEFAULT_INTENSITY);
    }

    public Point getPoint() {
        return mPoint;
    }

    public double getIntensity() {
        return mIntensity;
    }

}




Java Source Code List

com.google.maps.android.MarkerManager.java
com.google.maps.android.MathUtil.java
com.google.maps.android.PolyUtil.java
com.google.maps.android.SphericalUtil.java
com.google.maps.android.clustering.ClusterItem.java
com.google.maps.android.clustering.ClusterManager.java
com.google.maps.android.clustering.Cluster.java
com.google.maps.android.clustering.algo.Algorithm.java
com.google.maps.android.clustering.algo.GridBasedAlgorithm.java
com.google.maps.android.clustering.algo.NonHierarchicalDistanceBasedAlgorithm.java
com.google.maps.android.clustering.algo.PreCachingAlgorithmDecorator.java
com.google.maps.android.clustering.algo.StaticCluster.java
com.google.maps.android.clustering.view.ClusterRenderer.java
com.google.maps.android.clustering.view.DefaultClusterRenderer.java
com.google.maps.android.geometry.Bounds.java
com.google.maps.android.geometry.Point.java
com.google.maps.android.heatmaps.Gradient.java
com.google.maps.android.heatmaps.HeatmapTileProvider.java
com.google.maps.android.heatmaps.WeightedLatLng.java
com.google.maps.android.projection.Point.java
com.google.maps.android.projection.SphericalMercatorProjection.java
com.google.maps.android.quadtree.PointQuadTree.java
com.google.maps.android.ui.BubbleDrawable.java
com.google.maps.android.ui.BubbleIconFactory.java
com.google.maps.android.ui.IconGenerator.java
com.google.maps.android.ui.RotationLayout.java
com.google.maps.android.ui.SquareTextView.java
com.google.maps.android.utils.demo.BaseDemoActivity.java
com.google.maps.android.utils.demo.BigClusteringDemoActivity.java
com.google.maps.android.utils.demo.ClusteringDemoActivity.java
com.google.maps.android.utils.demo.CustomMarkerClusteringDemoActivity.java
com.google.maps.android.utils.demo.DistanceDemoActivity.java
com.google.maps.android.utils.demo.HeatmapsDemoActivity.java
com.google.maps.android.utils.demo.HeatmapsPlacesDemoActivity.java
com.google.maps.android.utils.demo.IconGeneratorDemoActivity.java
com.google.maps.android.utils.demo.MainActivity.java
com.google.maps.android.utils.demo.MultiDrawable.java
com.google.maps.android.utils.demo.MyItemReader.java
com.google.maps.android.utils.demo.PolyDecodeDemoActivity.java
com.google.maps.android.utils.demo.TileProviderAndProjectionDemo.java
com.google.maps.android.utils.demo.model.MyItem.java
com.google.maps.android.utils.demo.model.Person.java