Javascript 谷歌地图搜索中的地点标记问题
我正在用谷歌地图应用程序开发一个网页,但我遇到了一些问题。目前,该网页有一个功能图(没有任何图层)和一个搜索栏。我是编程新手,所以希望有一个我错过的快速修复方法。 当我搜索一个地址时,地图上有一个位置标记。但是,地图不会放大到placemark。如何使地图放大每个搜索的地址Javascript 谷歌地图搜索中的地点标记问题,javascript,html,google-maps,geocoding,Javascript,Html,Google Maps,Geocoding,我正在用谷歌地图应用程序开发一个网页,但我遇到了一些问题。目前,该网页有一个功能图(没有任何图层)和一个搜索栏。我是编程新手,所以希望有一个我错过的快速修复方法。 当我搜索一个地址时,地图上有一个位置标记。但是,地图不会放大到placemark。如何使地图放大每个搜索的地址 <script type="text/javascript"> var geocoder; var map; function initialize() { geocoder =
<script type="text/javascript">
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder ();
var latlng = new google.maps.LatLng (55.1667, -114.4000);
var myOptions = {
zoom: 5,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
function codeAddress () {
var address = document.getElementById ("address").value;
geocoder.geocode ( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results [0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results [0].geometry.location
});
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</script>
var地理编码器;
var映射;
函数初始化(){
geocoder=newgoogle.maps.geocoder();
var latlng=new google.maps.latlng(55.1667,-114.4000);
变量myOptions={
缩放:5,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
}
函数代码地址(){
var address=document.getElementById(“地址”).value;
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(结果[0].geometry.location);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。几何体。位置
});
}
否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
谢谢我将调用两个函数: (1) 把地图放在标记的中心 您已经拥有LatLng,或者通过调用
map.setCenter(myLatLng)
从marker.getPosition()
获取LatLng
(2) 设置地图的缩放
map.setZoom(zoomLevel)
可以固定在12到16之间,也可以根据标记的类型(街道地址或城市概况?)而变化。此信息可以存储在标记变量marker.zoomLevel
中
function codeAddress () {
var address = document.getElementById ("address").value;
geocoder.geocode ( {'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({ map: map,
position: results[0].geometry.location });
map.setZoom(16);
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
这很有帮助,但我需要更多的指导。例如,当我搜索一个地址时,如果我想将映射设置为放大8,那么代码会显式地显示出来吗?这在我的代码中是怎么回事?这是我的地图脚本,很抱歉它没有完全组织好,我试着让它变得更好。下一条评论包含了它的其余部分。var地理编码器;var映射;函数initialize(){geocoder=new google.maps.geocoder();var latlng=new google.maps.latlng(55.1667,-114.4000);var myOptions={zoom:5,center:latlng,mapTypeId:google.maps.mapTypeId.ROADMAP}map=new google.maps.map(document.getElementById(“地图”),myOptions);}函数codeAddress(){var address=document.getElementById(“address”).value;geocoder.geocode({“address”:address},函数(结果,状态){if(status==google.maps.GeocoderStatus.OK){map.setCenter(结果[0].geometry.location);var marker=new google.maps.marker({map:map,position:results[0].geometry.location});}else{alert(“地理编码因以下原因未成功:“+status”);}}有没有更好的方法在这里发布代码以便更容易阅读?编辑您的问题,粘贴代码,突出显示代码,然后单击
{}
图标