Javascript 谷歌地图API V3-街景
我正在尝试将Google maps V3 API集成到我们的网站中。我需要读取地址并将其设置为地图API,以便地图将显示该地址的街道视图 所以我需要三点帮助Javascript 谷歌地图API V3-街景,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在尝试将Google maps V3 API集成到我们的网站中。我需要读取地址并将其设置为地图API,以便地图将显示该地址的街道视图 所以我需要三点帮助 如何读取地址值 示例:var streetAddressArray=getElementsByAttribute(parent.document.forms[0]、“*”、“smokeid”、“地址行1”)(我不确定这个函数会做什么,只是粘贴一下,让大家知道我到底在找什么。) 读取设置为API类/方法的值后,地图可以显示街道视图 将其显
var streetAddressArray=getElementsByAttribute(parent.document.forms[0]、“*”、“smokeid”、“地址行1”)代码>(我不确定这个函数会做什么,只是粘贴一下,让大家知道我到底在找什么。)
我非常感谢你的回复,苏维! 这是我的节目:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map_canvas { height: 100% } </style>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=KEY_VALUE &sensor=true">
</script>
<script type="text/javascript">
function initialize() {
var fenway = new google.maps.LatLng(42.345573,-71.098326);
var mapOptions = {
center: fenway,
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(
document.getElementById("map_canvas"), mapOptions);
var panoramaOptions = {
position: fenway,
pov: {
heading: 34,
pitch: 10,
zoom: 1
}
};
var panorama = new google.maps.StreetViewPanorama(document.getElementById("pano"),panoramaOptions);
map.setStreetView(panorama);
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%">
<div id="pano" style="position:absolute; left:410px; top: 8px; width: 400px; height: 300px;"></div>
</div>
</body>
</html>
我想我离目标有点近,但是我的这个例子不起作用,它没有呈现任何东西
<!DOCTYPE html><html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map_canvas { height: 100% } </style> <script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyBweQln0Jf5uBWvkTGSkv8AfkBdt-zZ3dE&sensor=true"> </script>
<script type="text/javascript">
<!-- -->
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = { zoom: 8, 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);
}
});
}
<body onload="initialize()">
<div id="map_canvas" style="width: 320px; height: 480px;">
</div>
<div>
<input id="address" type="textbox" value="Sydney, NSW">
<input type="button" value="Encode" onclick="codeAddress()">
</div>
</body>
<!-- -->
</html>
html{height:100%}body{height:100%;margin:0;padding:0}map#u canvas{height:100%}
var地理编码器;
var映射;
函数初始化(){
geocoder=新的google.maps.geocoder();
var latlng=新的google.maps.latlng(-34.397150.644);
var myOptions={zoom:8,center:latlng,mapTypeId:google.maps.mapTypeId.ROADMAP}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
}
函数代码地址(){
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({map:map,position:results[0].geometry.location});
}
其他的
{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
您能告诉我哪里出了问题吗?您需要首先初始化街景(代替地图或绑定到地图),请参阅街景文档以进行设置(https://developers.google.com/maps/documentation/javascript/streetview). 然后,您需要使用谷歌的地理编码服务来查找地址。本文件(https://developers.google.com/maps/documentation/javascript/geocoding)将帮助您设置一个简单的地址搜索,但您必须稍微调整它,以便它在街景地图上呈现搜索。基本上你必须改变:
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
}
您需要将位置设置为panorama.setPosition,而不是map.setCenter(结果[0].geometry.location)
请记住,街景的视角可能并不总是指向你想要的建筑,我认为谷歌没有办法确切地告诉你要搜索的建筑/位置将位于街道的哪一边
希望能有所帮助。回答您的两个问题:
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
<div id="pano" style="position:absolute; left:410px; top: 8px; width: 400px; height: 300px;"></div>
</body>
另外,确保在包含google maps API脚本标记的标题中包含API密钥
关于你的第二个问题,你可以用多种方式来做。最简单的方法是使用输入文本字段,并使用jquery的.val()函数获取文本字段中的值。然后将值传递给地理编码器以执行搜索 有用资源:
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
<div id="pano" style="position:absolute; left:410px; top: 8px; width: 400px; height: 300px;"></div>
</body>