2

I've worked with google maps for android previously.

But, now I need to build custom maps for a place such as a home, showing bedrooms, kitchen and living room, or a factory, displaying all the departments. I would like to use these maps in an android application. How do I achieve this objective?

closed as unclear what you're asking by blah238, PolyGeo, Simbamangu, Fezter, Paul Apr 21 '14 at 7:56

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

0

You have to make choice if you want to use vector features or tiled layer:

1) for vector features, you can use google maps api v3 and create the rooms as polygons, circles, line features... in general, to use overlays - see the documentation.

2) for tiled layers, you have to place the tiles (usualy png) on your server, create your own ImageMapType object and use it as a standard layer or overlay layer:

    var mapTypeOpts = {
            getTileUrl: function (coord, zoom) {
                    var b = zoom;
                    var a = coord;
                    return "http://www.myserver.org/tiles" +
                        zoom + "/" + coord.x + "/" + coord.y + ".png";
            },
            tileSize: new google.maps.Size(256, 256),
            isPng: true,
            alt: 'My Layer - basic map',
            name: 'My Layer',
            minZoom: 15,
            maxZoom: 20
    };

    // now there are two ways how to set this up
    // 1st way - as a full layer, switchable instead of e.g. google satellite map:
    this.map.setOptions({ mapTypeControlOptions: {
                            mapTypeIds: [
                                    google.maps.MapTypeId.ROADMAP,
                                    google.maps.MapTypeId.SATELLITE,
                                    google.maps.MapTypeId.HYBRID,
                                    google.maps.MapTypeId.TERRAIN,
                                    'My Layer'
                            ]
                         }});
    map.mapTypes.set('My Layer', new google.maps.ImageMapType(mapTypeOpts));

    // 2nd way - use it as an overlay layer, used TOGETHER with normal google layers:
    map.overlayMapTypes.push(new google.maps.ImageMapType(mapTypeOpts));

For adding custom logos and copyrights to layers look here.

Not the answer you're looking for? Browse other questions tagged or ask your own question.