AppInventor - 从Google地图获取标记位置

时间:2015-10-04 19:43:46

标签: javascript google-maps google-maps-markers app-inventor

我想在拖动它时获得Marker位置。使用AppInventor通过setWebViewString函数从Java Script获取位置。地图和标记的拖动工作正常。但是AppInventor上的App没有从WebViewer接收位置,WebViewString没有内容。

我想问题出现在代码的这一部分:

google.maps.event.addListener(marker, 'dragend', function() {
    windowAppInventor.setWebViewString(marker.getPosition());
  });

拜托,有人可以查看吗?

<!DOCTYPE html>
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js">
</script>

<script>

var myCenter=new google.maps.LatLng(51.508742,-0.120850);

function initialize()
{
  var mapProp = {
    center: myCenter,
    zoom:15,
    panControl:false,
    zoomControl:true,
    mapTypeControl:false,
    scaleControl:false,
    streetViewControl:false,
    overviewMapControl:false,
    rotateControl:false,    
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);

var marker=new google.maps.Marker({
  position:myCenter,
  draggable:true,
  });

marker.setMap(map);

}
google.maps.event.addDomListener(window, 'load', initialize);

google.maps.event.addListener(marker, 'dragend', function() {
    windowAppInventor.setWebViewString(marker.getPosition());
  });

</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;margin:-8px"></div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

按照更正后的代码:

&#13;
&#13;
<!DOCTYPE html>
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js">
</script>

<script>

var myCenter=new google.maps.LatLng(51.508742,-0.120850);

function initialize()
{
  var mapProp = {
    center: myCenter,
    zoom:15,
    panControl:false,
    zoomControl:true,
    mapTypeControl:false,
    scaleControl:false,
    streetViewControl:false,
    overviewMapControl:false,
    rotateControl:false,    
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);

	var marker=new google.maps.Marker({
	  position:myCenter,
	  draggable:true,  
	  });

	marker.setMap(map);
	
	google.maps.event.addListener(marker, 'dragend', function(event) {    
		window.AppInventor.setWebViewString("Lat: " + marker.getPosition().lat().toFixed(6) + "  Long: " + marker.getPosition().lng().toFixed(6));
	});

}
google.maps.event.addDomListener(window, 'load', initialize);

</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;margin:-8px"></div>
</body>
</html>
&#13;
&#13;
&#13;

相关问题