聘我网

新概念招聘3.0

GMAP中如何根据地址获取经纬度值?

vote up0vote downstar

地址由用户提交,然后查出相应的经纬度值,该如何实现?

 

3 个答复

vote up0vote downcheck

大致是这样:

var coder = new GClientGeocoder();
coder.getLatLng(
                "Lake Maggiore",
                function(point) {
                    if (point) {
                        alert(point)          ;
                    }
                }
            );

完整版:

var coder = new GClientGeocoder();
            coder.getLatLng(
                            "Lake Maggiore",
                            function(point) {
                                if (point) {
                                    var map = new GMap2(document.getElementById("map_canvas"));
                                    map.setCenter(new GLatLng(point.y, point.x), 18);

                                    // Select a map type which supports aerial imagery
                                    map.setMapType(G_HYBRID_MAP);
                                    map.setUIToDefault();

                                    // Enable the additional map types within
                                    // the map type collection
                                    map.enableRotation();
                                }
                            }
                        );

完整加强版(加Marker):

var coder = new GClientGeocoder();
            coder.getLatLng(
                            "江阴",
                            function(point) {
                                if (point) {
                                    var map = new GMap2(document.getElementById("map_canvas"));
                                    map.addControl(new GLargeMapControl());
                                    map.addControl(new GMapTypeControl());
                                    map.enableScrollWheelZoom();

                                    var information = [
                                      new GLatLng(point.y,point.x)
                                    ] ;

                                    function createMarker(data, html) {
                                        var marker = new GMarker(new GLatLng(data.y, data.x));
                                        var html = "1524 Addison Road" + 
                                                   '<img src="op7.png" onClick="zoomit(' + data.y + ',' + data.x + ');">Zoom</a>';
                                        GEvent.addListener(marker, 'click', function() {
                                            marker.openInfoWindowHtml(html);
                                        });
                                        return marker;
                                    }

                                     function zoomit(lat, lng) {
                                            map.setCenter(new GLatLng(lat, lng), 13);
                                        }


                                    for (var i = 0; i < information.length; i++){

                                        var marker = createMarker(information[i]);                   
                                        map.addOverlay(marker); 
                                        marker.show();
                                    }

                                    //calculating center
                                    var latlngbounds = new GLatLngBounds();
                                    for ( var i = 0; i < information.length; i++ ) {
                                        latlngbounds.extend( information[ i ]);
                                    }

                                    //centering the map
                                    map.setCenter(latlngbounds.getCenter(), 13);

                                }
                            }
                        );

更多API参考此处

链接
vote up0vote down

I love these atcriels. How many words can a wordsmith smith?

链接
vote up0vote down

Your cranium must be proectitng some very valuable brains.

链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.