Javascript 根据Google Api v3 book/添加一个标记,并使用一个按钮

Javascript 根据Google Api v3 book/添加一个标记,并使用一个按钮,javascript,google-maps,google-maps-api-3,markers,Javascript,Google Maps,Google Maps Api 3,Markers,我创建了一个简单的按钮,询问纬度和经度,如果用户输入22,15,就会显示一个标记,但由于某种原因,我的代码无法工作 代码是: var map; var marker; var myLatLng = new google.maps.LatLng(); function initialize() { var myLatLng = new google.maps.LatLng(45.4375, 12.3358); myOptions = { zoom: 5,

我创建了一个简单的按钮,询问纬度和经度,如果用户输入22,15,就会显示一个标记,但由于某种原因,我的代码无法工作

代码是:

var map;
var marker;
var myLatLng = new google.maps.LatLng();
function initialize() {

var myLatLng = new google.maps.LatLng(45.4375, 12.3358);
    myOptions = {
        zoom: 5,
        center: myLatLng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map'), myOptions);

function zoomto() {
    map.set('zoom', parseInt(prompt('zoom value')));
}


function setCentre()
{
    map.setOptions({center: new google.maps.LatLng(prompt("Latitude: "),prompt("Longitude: "))});
}
google.maps.event.addDomListener(window, 'load', initialize);


function Marker1 () {

    map.setOptions({Marker: new google.maps.LatLng(prompt("Latitude: "),prompt("Longitude: "))});
    }
function Marker () {

    map.setOptions({Marker: new google.maps.LatLng(prompt("Latitude: "),prompt("Longitude: "),prompt("Color "),prompt("style "),prompt("number "))});
    }


var marker = new google.maps.Marker({
    position: myLatLng,
    title: 'Hello World'
});​
我有许多按钮缩放或移动到这两个工作,但我不能让标记的工作


感谢您的关注和帮助。

以下是一个示例,介绍如何根据包含验证的用户输入(lat/lng)将地图居中

检查lat和lng是否有效。可以找到有关纬度最小/最大范围的更多信息

HTML

<form id="mapCenterForm">
    Lat:
    <input type="text" id="lat" />
    <br />Lng:
    <input type="text" id="lng" />
    <br />
    <input type="submit" value="Center map" />
</form>

按钮尚未显示,标记代码为:var marker=new google.maps.marker({map:map,position:mylatng,title:“Hello World!”);你根本没有添加标记+你使用的是未记录的方法+你没有花任何精力去寻找如何做你想做的事情。我试图添加整个代码,但它说有问题,它不允许我这么做。它只识别了我留下的部分,我有更多的代码,但它不想让我发布它,所以我必须一点一点地将它添加到注释中。
myLatlng
myLatlng
不一样。函数Marker1(){map.setOptions({Marker:new google.maps.LatLng(提示符(“纬度”)、提示符(“经度”)}这是按钮的代码,我现在要做的唯一一件事就是让它在地图上显示标记。你的代码工作得很好。我正试图用我的代码来做几乎相同的事情,但是用一个标记,这样我就可以输入值并在那里放置一个标记。。。我可以把这些盒子也用于这个特殊用途吗?可以。我已经更新了小提琴和代码。它现在将地图居中,并添加一个标记。仅供参考,我已修改DOM事件侦听器,使其侦听表单提交而不是按钮单击(意味着您可以在表单字段中单击enter而不是单击提交按钮…)。再次感谢您的帮助,我将尝试使我的与您的相同,因为我有一个很好的示例可以理解。如果有帮助,请考虑采纳/接受答案。
// Calculate maximum latitude value on mercator projection
var maxLat = Math.atan(Math.sinh(Math.PI)) * 180 / Math.PI;

function initialize() {

    var center = new google.maps.LatLng(0, 0);

    var mapOptions = {
        zoom: 3,
        center: center,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);

    // DOM event listener for the center map form submit
    google.maps.event.addDomListener(document.getElementById('mapCenterForm'), 'submit', function (e) {

        e.preventDefault();

        // Get lat and lng values from input fields
        var lat = document.getElementById('lat').value;
        var lng = document.getElementById('lng').value;

        // Validate user input as numbers
        lat = (!isNumber(lat) ? 0 : lat);
        lng = (!isNumber(lng) ? 0 : lng);

        // Validate user input as valid lat/lng values
        lat = latRange(lat);
        lng = lngRange(lng);

        // Replace input values
        document.getElementById('lat').value = lat;
        document.getElementById('lng').value = lng;

        // Create LatLng object
        var mapCenter = new google.maps.LatLng(lat, lng);

        new google.maps.Marker({

            position: mapCenter,
            title: 'Marker title',
            map: map
        });

        // Center map
        map.setCenter(mapCenter);
    });
}

function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

function latRange(n) {
    return Math.min(Math.max(parseInt(n), -maxLat), maxLat);
}

function lngRange(n) {
    return Math.min(Math.max(parseInt(n), -180), 180);
}

initialize();