小编Ped*_*ram的帖子

Openlayers 3 - 创建自定义符号,如openlayers 2 - > OpenLayers.Renderer.symbol.anySymbol

Openlayers v2我可以添加如下符号:

OpenLayers.Renderer.symbol.pointToIcon = [100, 70, 20, 50, 42, 70, 20, 90];
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用Openlayers 3?

openlayers 3我可以使用此功能:

var starSymbol = new ol.style.RegularShape({
    points: 4,
    opacity: .5,
    radius: 10,
    radius2: 10 * .5,
    angle: 130,
    fill: new ol.style.Fill({
        color: "blue"
    }),
    stroke: new ol.style.Stroke({
        color: "red",
        width: 1
    })
});
Run Code Online (Sandbox Code Playgroud)

我可以制作其他数字,但我不能制作下图.

在此输入图像描述

另外,我不使用'Icon'之类的:

new ol.style.Style({
    image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
        anchor: [0.5, 46],
        anchorXUnits: 'fraction',
        anchorYUnits: 'pixels',
        opacity: 0.75,
        src: 'data/icon.png'
    }))
})
Run Code Online (Sandbox Code Playgroud)

因为图标的颜色是固定的,我不能使用我需要的颜色.

如果你帮助我,我真的很感激.

javascript gis maps openlayers openlayers-3

3
推荐指数
1
解决办法
675
查看次数

在C#中使用动态或表达式

我在我的程序中使用动态过滤器,如下面的解决方案:

public static IQueryable<T> MyFilter<T>(this IQueryable<T> queryable) where T : class ,IModel
{
        var someIds = new int[]{1,2,3,4,5};
        var userId = 2;

        Expression<Func<T, bool>> predicate1 = e => someIds.Contains(e.Id);
        Expression<Func<T, bool>> predicate2 = e => e.UserId==userId;
        Expression<Func<T, bool>> predicate3 = e => e.CreatedDate != null;

        var pred1 = Expression.Lambda<Func<T, bool>>(System.Linq.Expressions.Expression.Or(predicate1, predicate2));
        var pred2 = Expression.Lambda<Func<T, bool>>(System.Linq.Expressions.Expression.Or(pred1, predicate3));


        var result = queryable
            .Where(pred2);

        return result;
    }
Run Code Online (Sandbox Code Playgroud)

IModel是这样的:

Public interface IModel{
   int Id { get; set; }
   int UserId { …
Run Code Online (Sandbox Code Playgroud)

c# linq expression

2
推荐指数
1
解决办法
878
查看次数

在OpenLayers 3中使用Tiled Google Map

如何在OpenLayers 3中使用谷歌地图?
我想迁移从的OpenLayers 2〜3.这里有一个例子: 谷歌与的OpenLayers例如地图的整合
,但使用这种方法需要改变旧的HTML代码(这两个元素的需求,"GMAP"和提到的例子"olmap").
ol3正式不支持谷歌地图,但我的问题是:
"如何在我的项目中使用谷歌地图平铺服务,如MapServer,无需为脚本标记添加谷歌API参考(用于优化目的)?"

这是我的旧代码,可以正常使用OpenLayers 2:

var map = new OpenLayers.Map("map_canvas", {
    controls: [
        new OpenLayers.Control.PanZoomBar(),
        new OpenLayers.Control.ScaleLine(),
        new OpenLayers.Control.MousePosition(),
        new OpenLayers.Control.OverviewMap()
    ],
    units: "m",
    numZoomLevels: 21
});
var gmap = new OpenLayers.Layer.Google(
    { type: google.maps.MapTypeId.ROADMAP, numZoomLevels: 21}
);
map.addLayers([gmap]);
Run Code Online (Sandbox Code Playgroud)

和HTML代码:

<div id="map_canvas">
</div>
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助

javascript gis google-maps mapserver openlayers-3

2
推荐指数
1
解决办法
4734
查看次数