如何使用Google Maps api显示自定义标记以生成静态地图图像

时间:2016-04-23 12:19:53

标签: php html google-maps

我有一个使用以下Google地图API显示生成地图图片的代码:

<img src="https://maps.googleapis.com/maps/api/staticmap?center='<?php echo $madd; ?>'&zoom=7&size=700x300&markers=icon:http://chart.apis.google.com/chart?chst=d_map_pin_icon%26chld=medical%7Clabel:'<?php echo $mlabel; ?>'"/>

使用上面的代码显示这里谷歌红色标记图标,但我想显示自定义标记图标。 请帮我。

3 个答案:

答案 0 :(得分:2)

你可以尝试这个,我觉得这个对你有帮助

http://maps.google.com/maps/api/staticmap?center=21.19365498864821,72.8217601776123&size=200x200&zoom=12&maptype=roadmap&markers=icon:%20http://ijiya.com/images/marker-images/image.png|shadow:true|21.19365498864821,72.8217601776123&sensor=false&key=ABQIAAAAjU0EJWnWPMv7oQ-jjS7dYxQGj0PqsCtxKvarsoS-iqLdqZSKfxRdmoPmGl7Y9335WLC365hfg5yrjskd999

答案 1 :(得分:0)

您可以使用java-script

简单地实现它
var image = '../images/pin.png';
var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: 'YOUR MARKER TITLE',
    icon:image
});

其中图片是您的自定义标记PNG图像,
所以你的Java脚本代码看起来应该是这样的

var options = {
    mapTypeControlOptions: {
        mapTypeIds: ['Styled']
    },
    center: new google.maps.LatLng(30.085100, 31.328230),
    zoom: 16,
    disableDefaultUI: true,
    mapTypeId: 'Styled'
};
var div = document.getElementById('surabaya');
var map = new google.maps.Map(div, options);
var myLatLng = { lat: 30.085100, lng: 31.328230 };
var image = '../structure/static/pin.png';
var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: 'PMAS',
    icon:image
});
var styledMapType = new google.maps.StyledMapType(styles, { name: 'Styled' });
map.mapTypes.set('Styled', styledMapType);
};

答案 2 :(得分:0)

您只需使用此PHP script即可。它是免费的,有很多功能。有了它,您甚至无需一行编码即可管理您的地图。